The US digital service - <AUTHOR> http://blog.samaltman.com/the-us-digital-service <comment><USER3> I really wanted to work for the digital service and my experience applying was horrendous. The recruiter scheduled an appointment to call me and didn't at the scheduled time. She followed up weeks later and I finally got my phone screen. Phone interview went well, she said we would schedule another interview. The followup from her didn't happen until another month later. Then I had a technical interview where the interviewer talked over me and asked whether I would use a list or an array for a particular data structure, to which I replied I use Ruby & Python so I don't know what you're asking because it would be a question of semantics, to which he finally clarified he meant a linked list and chided me for not "knowing the difference between the properties of a linked list and an array." How can you expect me to know the difference between two data structures if you're using unclear shorthand to refer to one of them? And the interviewer was an ex-Google engineer so I imagine he had some familiarity with Python (where a "List" is what many languages refer to as an array) since it's an official Google language.

And then of course I didn't get the job (and no feedback on why). The whole thing was maddening, took 3 months total just to get railroaded by an aggressive and imprecise technical interviewer. It sounds like great work though, wish them the best of luck. Wish I could work on their projects.

<comment><USER4> Not to be a jerk but I'm going to sound like a jerk, but know it is from a position of love: linked lists and arrays are both fundamental data structures.

At the very least you now learned about them. I want you to read this: [http://mikerowe.com/2015/08/otw-rejection/](http://mikerowe.com/2015/08/otw- rejection/)

And let me relate to you: I get turned down for jobs all the time. It is not because of capricious reasons that I wish were the case, but it's because of me not knowing something. Yes, it's maddening because they throw out good candidates along with the bad to minimize risk to them. The same facts happen to me and you, but try to have the perspective on them be as positive as you can.

<comment><USER5> It sounds like he knew what a linked list was, but he was confused by the interviewer referring to it as a "list".

<comment><USER6> Well, the appropriate response is to politely ask for clarification. Sometimes asking a dumb question is a useful way to see how someone treats someone less experienced. I find treating interviewers with deep respect no matter how dumb they sound generally puts me in the drivers seat going forward.

</comment></comment></comment></comment><comment><USER7> Also check out 18F [1], which focuses on pushing forward how tech and the government work together. They run a 12-month Presidential Innovation Fellows program [2] which works more intensely on innovating with specific groups within the federal government. USDS is more focused on modernizing and ensuring some basic technical functionality of a lot of the core aspects of the government (which is incredibly important and impactful, but is less about innovation -- see a comparison here [3]).

[1] [https://18f.gsa.gov/](https://18f.gsa.gov/)

[2] [https://www.whitehouse.gov/innovationfellows](https://www.whitehouse.gov/innovationfellows)

[3] [http://ben.balter.com/2015/04/22/the-difference- between-18f-...](http://ben.balter.com/2015/04/22/the-difference- between-18f-and-usds/)

<comment><USER8> 18F uses the same hiring pipeline -- applying through [https://www.whitehouse.gov/digital/united-states-digital- ser...](https://www.whitehouse.gov/digital/united-states-digital-service) will get you considered for both!

<comment><USER9> Yep, and we have some extra 18F-specific information here:

[https://pages.18f.gov/joining-18f/how-to- apply/](https://pages.18f.gov/joining-18f/how-to-apply/)

</comment></comment></comment><comment><USER10> At the risk of being self-promotional, there's another part of the rebel alliance of which USDS and 18F are the main players, and that is better technology contractors. ("Better" meaning, engineering practices and outcomes that the audience of this site would recognize.) There's Nava, and the company I co-founded, Ad Hoc. Greg and I were on the original HealthCare.gov rescue squad with Mikey et. al. We're still working on HealthCare.gov, but instead of helping to prop up the bad old code (which was necessary work to save the site and help actual people), we're rebuilding parts of the site from scratch, using things like Go, AWS, Angular. During the last open enrollment period over the winter, our code (healthcare.gov/see-plans/) had 100% uptime, served ~ half a billion page views, and had a mean response time of well under 100ms. (And _no_ garbage hiding in the 99th percentile.)

One thing I'll say about government work -- you're not really breaking new ground, from a technology perspective. (Unless you're at DARPA I suppose.) Don't come into thinking you're going to innovate in some bleeding-edge area. But government was left so far behind the consumer technology curve that basic, competently-executed, well-designed software that's fast is an _enormous_ leap forward. 2008-era web tech is sorely needed across government. In a way, that is the innovation: dependable software that reliably delivers services to people for whose user-experience has never been put on the same playing field as consumer online services.

If you're interested in being part of the rebel alliance, and for whatever reason USDS or 18F aren't right for you, consider contracting. There's enormous opportunity to make real change and see your code help others. Believe me, small teams can have a big impact on government, even from outside government. If you want to know more about Ad Hoc, get in touch ([http://adhocteam.us/](http://adhocteam.us/)). We also have projects with the Department of Veterans Affairs, and state Medicaid programs.

I never thought I'd be a government contractor. I did the startup thing, and just happened to get roped into the HealthCare.gov rescue. I can tell you it's sometimes frustrating, but always satisfying work. And there are several avenues in.

<comment><USER11> Do the contractors offer senior engineer pay (10+ years experience) that is more competitive with private sector? The direct employment jobs max out at mid-level engineer wages.

<comment><USER12> I'd say we're on par with the private sector.

</comment></comment></comment><comment><USER13> As Sam alludes to, many YC alums have joined the government in some capacity—healthcare.gov, US Digital Service, Nava, Presidential Innovation Fellows—and are on HN.

Jason Shen from YC S11 recently wrote about the concept of a "Tour of Duty": [http://www.jasonshen.com/2015/when-did-you-do-your-tour- of-d...](http://www.jasonshen.com/2015/when-did-you-do-your-tour-of-duty/)

If anybody has questions, feel free to ask and I'm sure one of the alumni will reply!

<comment><USER14> Why doesn't the government allocate more funding to pay skilled technical workers at least close-to-market wages for the crucial work they are doing in bringing government organizations and systems into the 21st century?

<comment><USER13> There's plenty of funding, but salaries are capped by law: [https://www.opm.gov/policy-data-oversight/pay-leave/pay- admi...](https://www.opm.gov/policy-data-oversight/pay-leave/pay- administration/fact-sheets/maximum-gs-pay-limitations/)

So Congress would have to pass a law to fix that particular problem.

<comment><USER15> That problem was solved decades ago by government contracting. See above, the healthcare.gov folks formed contracting companies so they could go back to work for the govt at double the salary.

<comment><USER16> That's not a solution. At all. The contracting companies end up pulling up the ladder so that nobody else can compete in the particular vertical they've managed to commandeer. And then they lose all incentive to work hard. They wind up hiring less and less competent workers and pocketing the difference.

Contractors are a big reason why the US government has the reputation it does today.

</comment></comment></comment></comment></comment><comment><USER17> If I were to dedicate any time to helping anyone, I feel like my time would be better spent helping the Tor Project than helping the US Government.

I know I'm not alone here, either.

<comment><USER3> It's really not fair to lump all of government in with the NSA. "Helping the US government" in the case of the digital service means things like making it easier for immigrants to apply for a green card by building a web application that replaces paper forms. What the digital service is actually doing is helping US citizens receive government services more efficiently. Which is completely different from "helping the government" the way you phrase it.

<comment><USER18> The broader USDS family is focused on delivering better services. But one area we're starting to focus more on is policy itself. One thing that struck me about the federal government is just how little internal harmony there exists between agencies. Just because the NSA does or says something doesn't mean everyone here agrees with them or even really has to support them. Because the USDS HQ team is located in the White House (and OMB), there exists the ability to engage directly with decision-makers and influence policy and (at least sometimes) the behavior of agencies.

</comment></comment></comment><comment><USER19> The USDS Playbook[1] reminded me a lot of the GDS Design Principles[2] and even shares a few points. I think they also set a feeling for each of the Governments they're related to.

[1] [https://playbook.cio.gov/](https://playbook.cio.gov/)

[2] [https://www.gov.uk/design-principles](https://www.gov.uk/design- principles)

<comment><USER20> Sharp eye! We are indeed indebted to the work that the UK has done! They are a couple years more senior (USDS just had it's 1st birthday this Tuesday; GDS is coming up on 3) and while there is much tailoring for each country's unique circumstances, we've certainly benefited from their experience.

<comment><USER21> We're over 4 years old now, officially formed in April 2011.

</comment></comment></comment><comment><USER22> I've met a lot of the U.S. Digital Service people and it is an amazing organization. I had a list of concerns (how they work with contractors already in place, how things would evolve with a new administration, whether they would get sucked into long term staffing at agencies, etc) and they had addressed all of them.

There are a few negative things as overhang from the rest of government (requirement for citizenship: so many of the great people I know are non citizens, even if many have green cards; drug testing, which doesn't really serve a meaningful purpose), but those are the reality, and don't diminish the value of the program in any way.

I would strongly recommend looking into USDS to anyone who who wants to make a difference in tech. It is a great place to go in the middle of a longer career at a post IPO company like Google/FB, or are between projects.

<comment><USER9> > (requirement for citizenship: so many of the great people I know are non > citizens, even if many have green cards; drug testing, which doesn't really > serve a meaningful purpose)

As an 18F employee, I can't speak for USDS, but I know 18F can (and does, I think) employ non-US citizens who are already authorized to work (we can't sponsor). I've also never taken a drug test.

<comment><USER23> > employ non-US citizens who are already authorized to work (we can't sponsor)

Doesn't that just mean permanent residents?

<comment><USER24> Not necessarily. For example a L-1A visa is a non-immigrant visa for intra- company executive or manager transferees. Spouses of L-1A visas are in L2 status, which allows them to apply for work authorization.

</comment></comment></comment></comment><comment><USER25> Really happy seeing these initiatives and the way the White House is thinking about bringing technology to the government.

I just can't understand why other government bodies and countries still give all their work to big corporations asking for ridiculous amounts of money for delivering questionable work quality. Their only thinking is how we can deliver the worst software ever that require us to maintain it for as many years as possible.

Give the work to smart folks who are willing to make it happen because they believe in that country and how they can make a true impact and you'll get wonderful software at a reasonable price that will just work.

<comment><USER26> You bring up a great point and a big challenge is the way government purchases things. There have been a lot of laws passed to ensure that the gov't buys things in a fair way (as not to just give the contract to a friend) but over time those laws and policies have resulted in an extremely complex and time consuming process that only huge companies can devote the resources to "apply" for a job and win it. Once a law is passed and a policy is in place, it can be very hard to unwind (power of inertia) which is why it can take a crisis like Healthcare.gov to make sweeping changes. Teams like 18f are designed to help the gov't build the right tech in house, skipping the procurement process, and using agile methods and modern tech to build faster and cheaper.

<comment><USER27> To be clear, 18F is not be "skipping the procurement process" and has released their own Agile BPA which is great. Skipping the procurement process would be the sign of a bad workaround.

A critical part to fixing "the problem" is both creating vehicles for new kinds of companies to access government and reduce the overall risk of government officials purchasing from those companies.

"Nobody ever got fired for buying IBM / Accenture / Whatever" applies in government as well, but the appetite for risk can be even lower than in the private sector, with higher costs of entry.

Top-level butt-coverage from the White House / OSTP and another agency demonstrating that it is possible and creating the contract vehicles to get more agile / lean / innovative businesses in the door goes a long way to solving this problem.

<comment><USER28> It isn't just taking on risk by trying something new. Even a known better solution can result in assuming risk.

Take a long existing systematic problem which produces 100 bad effects a day (people getting double billed, database errors, what have you). Someone thinks of an improvement to reduce this to 10 bad effects a day instead. A major improvement. But they don't do it.

Why? Because anyone who approves of the new system is now the person responsible for the 10 errors a day. It goes from 100 errors per day because that is just how the system works to 10 errors a day because of Bob two cubes over. Bob ends up being blamed for the 10 errors far more than being congratulated for the 90 that no longer occur.

</comment></comment></comment></comment><comment><USER29> Navy doc here. One project where a huge difference could be made, now, would be if smart people could hold Leidos to task with the new military health care system. It's something like $16 billion dollars and "integrating with the VA proved to be too expensive".

Many thanks to the folks at 18f and the US Digital Service.

How far behind is government IT? I'm trying to get the Navy HPC systems (the cutting edge, right?) to "modernize" to Python 2.7.

<comment><USER30> What's new in python 2.7 that requires upgrading ?

I prefer writing python in the least-clever way I can, which doesn't require a lot of language features.

<comment><USER31> Wearing my python core dev hat: a litany of security fixes, python3 compatibility stuff, useful stdlib modules, dict and set comprehensions, probably more stuff I can't remember.

</comment></comment></comment><comment><USER32> Did the people that charged $200 million to build healthcare.gov get to keep the money after the project failed? What about the people that allocated that money, do they still have their jobs?

It seems kind of disingenuous to ask engineers to do a "tour of duty" at a substantially reduced rate, when they could instead contract at normal rates and actually deliver working software. If you want to help the government, contract at normal rates and actually deliver high-quality, working software - don't take a pay cut to do it.

<comment><USER33> If you do something and the client doesn't like it, do they get their money back? Of course not.

<comment><USER32> There's a big difference between not liking something, and it not functioning.

</comment></comment></comment><comment><USER34> Did he take his own advice? Also regarding the rewrite of HealthCare.gov - <USER2> don't know the specifics but aren't re-writes always way cheaper and far easier than the initial implementation? Is it really a fair comparison?

<comment><USER35> The main problem with the original healthcare.gov was that it was built by contractors under the old contracting model of "fill as many seats with bodies as you can, win the contract, and charge by the hour". That business model creates a perverse economic incentive that doesn't leave a lot of room for creativity, and certainly doesn't do anything to create trust between the federal agency that requires software and the team that ends up building it. I would also say that the hiring bar for contractors, compared to 18F, the USDS, etc, is, frankly, pitiful.

<comment><USER36> > "fill as many seats with bodies as you can, win the contract, and charge by > the hour"

THIS MAN knows what he's talking about. I wish more people would be aware of this.

What's even more perverse? When contracts are awarded based on the above while factoring in "diversity points" \- different minorities count for different numbers of points. I will leave it as an exercise to the reader to figure out what perversity follows.

<comment><USER35> Oh, you mean the preference for women, minorities, and veterans? Yeah, that's an interesting issue. It's great in theory, but in practice ends with quite a bit of additional bench stuffing to increase preference. And then to start a company and compete for contracts, even if you're a rockstar engineer who just happens to be white and a man, good luck competing against an 8A. It's hard to complain, because I see the value, but at the same time, UGH.

<comment><USER36> Quite honestly, it creates a class of "tokens". They nominally have jobs, but their real job (for the sake of the company being awarded the contract) is to simply be a token. Certain minorities count for more than others.

<comment><USER35> I definitely wouldn't go that far in describing the problem, but yes, there are issues with the model.

</comment></comment></comment></comment></comment></comment><comment><USER37> Can we vote on what they work on?

I just want to be as sure as possible that they never get around to fixing the traffic ticketing system.

God forbid the state cops ever realize how many times the local cops have pulled me over, or vice versa, and that's before we even get out-of-state violations involved.

Good lord, keep them away from the traffic tickets. COBOL is just fine for that.

<comment><USER38> I've had a lovely problem of having a Dutch last name and the officer writing my middle name as "Van", then trying to inquire about said ticket in a system which apparently you can only search by name or ticket number (which I lost), only to be told "no record found" and later getting a notice that my license was suspended from the DMV.

</comment></comment><comment><USER39> > serving your country

Erm. Serving your country does not equal to serving the government. Often the government in place actually has an active role in destroying the country or making it worse. Look at the NSA - are the NSA folks really serving their country or their goverment first ?

<comment><USER40> Saying, "Help the monied interests who control governments." doesn't sound as convincing.

Serving your country/honour/helping the group are rhetorical tools used convince people to sacrifice themselves (their human capital, and sometimes their bodies) for this group.

Governments are extremely powerful (obviously), and part of that power comes from co-opting people. A metaphor can be seen in the Matrix. To quote Morpheus:

> The Matrix is a system, Neo. That system is our enemy. But when you're > inside, you look around, what do you see? Businessmen, teachers, lawyers, > carpenters. The very minds of the people we are trying to save. But until we > do, these people are still a part of that system and that makes them our > enemy. You have to understand, most of these people are not ready to be > unplugged. And many of them are so inured, so hopelessly dependent on the > system, that they will fight to protect it.

The hacker culture is being co-opted wholesale. Technology is powerful—both as an economic driver and a competitive advantage against other groups—, so it's not unexpected that the human capital which are tech savvy are targeted.

People can't be forced to do anything—unless they break the law at which point they will have the full force of law brought down upon them, with no mercy applied (if members of the gov choose!). As such, people with skills need to be _convinced_ to work with government, and that's where the rhetorical tools are implemented.

When you read comments about how governments help the people they preside over, you're reading the grass-roots propaganda from those which Morpheus talks of. The _businessmen_ , teachers, lawyers, carpenters, _coders_!

Do as you like, but it's important to know the message conveyed in the blog post is from a member of the business-class who has been fully co-opted, and doesn't follow the _very_ advice he gives! And why would he? It's much more profitable (in the board sense of the word) to use his platform as a tool of marketing and persuasion for said establishment—I.e. getting others to make sacrifices, so those with control can live with impunity and in-group-largess (with the cost borne by society).

</comment></comment><comment><USER41> They even run a kissmetrics-style real-time analytics page:

[https://analytics.usa.gov/](https://analytics.usa.gov/)

Between immigration and weather one can cover 70% of queries right there ;) And thanks to sama for the write up.

<comment><USER20> Yup. I want to give a shout-out to 18F who did a really great job with this. This project is really important for two reasons.

1\. It brought analytics to the minds of agency communications and policy folks. Having 18F going around adding Google Analytics to as many government websites as possible also opened up lots of other opportunities to help people better understand their users.

2\. It's an example of a shared service - one that doesn't require extra procurement, is super reliable, and doesn't require every agency to duplicate work. The sheer size of the government makes the fact that sometimes the left hand doesn't know what the right hand is doing is understandable - the way we've set up a federal system actually makes this an intentional feature. However, if we reduce rebuilding, either by sharing services or code would be a big win for the budget and for quality.

<comment><USER9> > I want to give a shout-out to 18F who did a really great job with this.

Thanks! We loved the opportunity to assist the Digital Analytics Program (DAP) with the dashboard. They've been around since ~2012 and have been doing the legwork to get agencies to participate in the program for years:

[https://www.digitalgov.gov/services/dap/](https://www.digitalgov.gov/services/dap/)

<comment><USER20> Oh! Thanks for letting me know. Had no idea about that particular team. Will happily give you both credit next time!

</comment></comment></comment></comment><comment><USER42> Will this scale? For me it looks like a kind of organizational anti-pattern. Imagine you are working in your project, then comes the "Know it all" guys trying to redo everything you know about. After rebuilding everything they will leave, take all the credits and leave the bomb with you.

<comment><USER18> It is an explicit goal to create lasting Digital Service teams in every federal agency specifically to ensure longer projects (those that actually involve (re)building something) have long-term support. Generally the short- term engagements USDS has are either to help agencies put a fire out, or to provide recommendations that the agency can then choose to implement with their own people.

</comment></comment><comment><USER43> Any idea what the compensation is like? Would the "tour of duty" be considered a sacrifice or is it a viable way to make a living for a talented engineer?

<comment><USER20> I'm currently at the US Digital Service so figured I'd add some color. There are many subtleties about how government hires that makes this a really interesting question.

We are brought in either under Intermittent Consultants or Schedule A hires. This means that in exchange for being able to hire you by name rather than going through a more structured process through USAjobs.gov, you can only work for 2 years. Therefore, no matter what the pay, it's probably not a viable long term career.

It's also important to note that this is probably a good thing - I've been at Healthcare.gov and USDS since Jan of 2014 and I'm finding that I'm getting adjusted to some of the bureaucracy. It's therefore actually key to balance experience with fresh perspectives.

I'd also say that the salary ranges - it's in part based on what you used to make in the private sector but has a hard ceiling. For everyone who comes, it's more than enough to survive but not a long term career move for anyone. And of course, there are no stock options or equity stakes :D.

<comment><USER43> Thanks for the info, that's pretty interesting. Are you ever allowed to go back and do another 2 years?

<comment><USER20> I'm not certain about the exact intricacies of the Schedule A hiring authority so I may be corrected by someone later - but my understanding is that this would not be possible to be rehired under the same hiring authority. People have joked about doing both a Schedule A and an Intermittent Consultant[0], which would allow you to do 4 years (2x2) - as we've just hit our 1st birthday, no one has tried it yet!

[0] There are some slight differences in how pay, retirement, and some other benefits are distributed, so they are mostly but not entirely interchangeable.

<comment><USER44> Do you get 2 years worth of pension? ie 2 40ths (or whatever the accrual rate is )

<comment><USER20> Pensions have a 3 year cliff - but you're only allowed to work for 2 as a schedule A and you don't accrue years as an IC so one can conclude with very high confidence that I will not have a pension :D.

<comment><USER44> Ah sneaky if a highly unfair to the people taking a paycut to work for their country.

</comment></comment></comment></comment></comment></comment></comment><comment><USER45> Honest question, because I can't find it in the copy on the USDS page, but have seen comments here about this:

Do you treat this as a job with a certain known tenure, or rather as a sabbatical? It seems like they want specific periods of work, but how does that fit with a regular job where you're vaguely working for a company indefinitely?

How does relocating to the DC-metro area fit in with that? Relocation is expensive and a hassle, after all.

</comment><comment><USER46> Is it me or does $4M annually still seem like a high cost?

<comment><USER47> It's expensive in an absolute sense, but that's what happens when you pay people to work on something. Salaries and benefits add up really quickly.

By a rough estimate, a fully loaded developer costs at least $200-250k/year, counting salary, benefits and incidental expenses (ie supplies, offices... etc). So a team of 12 people would cost ~$3M/year and have $1M/year left over for all their other business expenses.

The government might end up paying somewhat less per person, but they'd also need additional people to deal with bureaucracy, coordinate with other agencies, deal with state governments and so on, so they likely want more than 12 people running a system like this.

<comment><USER44> Your forgetting the costs of the FS pension

</comment></comment></comment><comment><USER48> Technology makes government and other traditional institutions irrelevant. Focus you efforts on decentralizing technologies that replace giant outdated systems entirely.

The US government, like all traditional states, is just a really official type of organized crime. The DNA of the state is past its expiration.

</comment><comment><USER49> I would have been all over this a few years ago, but being married to someone who can't also move to DC for a multi-month period makes it unworkable. For my career, I work 100% remotely - I would love to do some work for the digital service if they had opportunity for remote working.

<comment><USER50> 18F is structured to support remote workers. You'd need to be on site in DC to work at the USDS though.

<comment><USER8> Yep. 18F is great, and the teams work together on a lot. Here's more on why it works that way: [https://news.ycombinator.com/item?id=9802888](https://news.ycombinator.com/item?id=9802888).

</comment></comment></comment><comment><USER51> I attended one of the UKs GDS road shows this week. I have been trying on and off for a while to get better OSS into local government ([http://www.oss4gov.org](http://www.oss4gov.org)) and am impressed still by the focus there is in government in doing the right thing.

The big wins they are having is enforcing OSS licenses for bespoke development, pooling purchasing into rolling 6-9 month call-off frameworks and generally waving the agile and cheaper flags.

I am not convinced that the idea of a sort of Peace Corps couple of years will be the solution - if we get government software based on an infrastructure of OSS then it's likely both private and public developers will be familiar with those Eco systems anyway.

</comment><comment><USER52> Sam wrote "I often get asked about what people can do for a year or two to make a big impact between projects." If the US government isn't the right fit (especially if you're not an American), consider doing a Fellowship with a non-profit which may also have a big impact. MovingWorlds.org is one place to find those opportunities. We (engageSPARK, a not-for-profit business building the "Twilio for non-techies" for NGOs & Governments) also have a Fellowship program: [https://www.engagespark.com/about/#join](https://www.engagespark.com/about/#join) . :)

</comment><comment><USER53> I wonder if there is an equivalent in Australia (or other countries).

<comment><USER21> The DTO in Aus has hired a few ex-GDS employees and seems to be doing good work: [https://www.dto.gov.au](https://www.dto.gov.au)

</comment></comment><comment><USER54> If this resonated with you, check out:

Mikey Dickerson (head of USDS) at SXSW: Why we need you in government [https://medium.com/@USDigitalService/mikey-dickerson-to- sxsw...](https://medium.com/@USDigitalService/mikey-dickerson-to-sxsw-why-we- need-you-in-government-f31dab3263a0)

Previous HN discussion on USDS: [https://news.ycombinator.com/item?id=8988819](https://news.ycombinator.com/item?id=8988819)

</comment><comment><USER55> yes government needs good tech but we as a global community also need good leaders that understand implications of new tech , policy and innovation.

<comment><USER26> Absolutely - and a lot of what USDS, 18f and PIF do is bring technical people into gov't not only to design and code software, but to make sure the right solution gets implemented, and help policy makers understand how effective technology gets built.

<comment><USER55> implementing the right solutions is very subjective. There are many approaches to solving a single problem.Lets take the energy example where we have different solutions in renewables, hyro and nuclear amongst others . Now it seems that the people working on renewables dont talk to people from hydro nor with those working on nuclear. IMHO might be better for the global community where people working on a single problem communicated amongst themselves and policy makers to self select what works best.

</comment></comment></comment><comment><USER56> According to this talk, the work hours were pretty insane to fix healthcare.gov. From the 2014 Velocity Conference in New York City, Mikey Dickerson's keynote: "One Year After healthcare.gov: Where Are We Now? [https://www.youtube.com/watch?v=7Vc8sxhy2I4](https://www.youtube.com/watch?v=7Vc8sxhy2I4)

</comment><comment><USER57> Here's Todd Park's (White House Technology Advisor) talk during the recently concluded Twilio Signal devcon. He's then followed by the co-founder of Twilio, newest avenger in the USDS team [https://youtu.be/4QXZl4cFw24?t=50m33s](https://youtu.be/4QXZl4cFw24?t=50m33s)

</comment><comment><USER58> I agree that you should stop complain about anything IT-related in government and instead try to make a change (and complain about, let's say, bogus process of winning government contract)

That been said, I don't believe USDS/18F/GSA in big need for engineers from my own experience. So don't afraid to apply :)

</comment><comment><USER59> Is anyone aware of any similar programs in the charity space? I would imagine there are charitable organizations out there in need of some solid tech but lacking the infrastructure to build it.

</comment><comment><USER35> I'm a contractor under the GSA's OCSIT, sharing a floor with 18F, the PIFs, and occasionally members of the USDS that come to hang out. It's great to see the feds hiring awesome technologists and doing great things, including some of the technologies that are currently only available to teams with, as the developers of them say, "a reasonable pain tolerance". My only advice to 18F is that they should figure out pathways to provide the services they intend to provide, create a management plan, and stick with it. I would recommend them to check out the business models of Peter Corbett's iStrategyLabs, who is right here in Washington D.C. and doing great work for some really big brands, and VICE's Carrot Creative, from Brooklyn, if they want to see the agency model in action.

</comment><comment><USER60> The government spends millions on shitty contracts and programs that goes billions over budget. Don't work for them unless you are getting at least market price.

</comment><comment><USER61> _> I think it'd be great if it became a new tradition that people from the tech world do a tour of duty serving our country at some point in their careers. We need better technology in government._

STOP. WAIT. THINK. As an entrepreneur, you don't want to lose opportunities down the road, or have doors close on you. Look how Huawei gets blasted because the founder served in the Chinese army. Or they may be some open- source projects you want to help out on and people don't want to trust you.

<comment><USER62> "We want to hire you, but we see here that you improved the digital systems affecting the lives of millions, so I'm afraid we won't be moving your application forward at this time"

Right...

</comment></comment><comment><USER63> We definitely do need better government. But I don't think this digital service thing is going to work out. Early reports from similar programs like the Presidential Fellows program, shows that government bureaucracy is pretty calcified, and the private contractors that provide the current dated technology aren't going to go quietly either.

A bunch of young guns parachuting in isn't going to have much effect unless someone with a lot of political capital, spends that capital forcing change.

Otherwise, the young guns will just get sidelined. I've talked to people in the Presidential Fellows program, and they get sidelined a lot. Nothing actually changes.

And forget about bringing in new, better vendors for government contracts. There is an entire skillset required to bid on and get government contracts, and the people that know how to build good technology, have no idea how to get the contracts. And the people that know how to get the contracts, specialize in that, and have no idea how to build good technology.

How do you think that garbage-ass company from Canada (that isn't even allowed to build tech for the Canadian government) gets recruited to build Healthcare.gov at some huge inflated expense.

And BTW, you can't even get people in the know to talk about this stuff, because anyone that does is shitting on their own career prospects if they tattle on the system.

The Healthcare.gov fix worked because the President supported that intervention. Can every place that Digital Service serves get that kind of support? If it does, then that will be amazing. But I sort of doubt the President can micromanage and give support to a thousand interventions in a thousand different departments, all with their own little fiefdoms.

</comment><comment><USER64> I'm not against it, but my worry is that the US government will use this "attracting of top tech talent" to help with government services as a "backdoor" (pun intended) to recruiting some of them into the NSA later on, especially now that they seem to have a problem with recruiting hackers post- Snowden revelations.

First they get them to "feel patriotic about helping the government" and then getting them to spy on everyone seems like just another next step.

Hopefully, though, it will work the other way around and this top tech talent will manage to convince the old people in the government to do less of that.

</comment><comment><USER65> > I think it'd be great if it became a new tradition that people from the tech > world do a tour of duty

I really can't stand this language.

"Tour of duty" means fighting in combat, for years, at low pay. Getting $130k/yr [1] to pad your resume isn't a "tour of duty."

[1] [http://fcw.com/articles/2014/10/27/red-tape-holding-back- hir...](http://fcw.com/articles/2014/10/27/red-tape-holding-back-hiring.aspx)

<comment><USER35> One of my team members is a former Army Captain and Iraq veteran. He doesn't seem to mind.

And the only way anyone would be making $130K is if they landed at the top step of the GS-15 scale. I know most offers are made around the GS-13 level.

<comment><USER50> Your pay is determined by your paystub from your previous/current employer by the Office of Management and Budget (edit: they _do not_ take into account equity grants nor intangibles). You're also required to pass a drug test, as well as a background check and security clearance.

I'm somewhat turned off by the idea that people _shouldn 't_ be paid ~$130K/year for their service. You're asking them to pick up and move to DC, covering none of their moving, travel, or new living expenses.

<comment><USER66> And this is why the government has trouble attracting good people. It's not the pay that bothers me, personally. It's the bullshit policies, lack of workplace flexibility and the idea that intrusions into my own private life is at all acceptable. Oh and I have to move to the central government swamp while we're at it?

So then they pitch this as the only way people can help make things better offering below market pay along with all these trade offs?

Good luck with that.

<comment><USER35> Except the USDS, 18F, PIFs, and OCSIT are all attracting really great people. Now, HTTPS everywhere is a dubious project, sorry Konklone, but its difficult to deny that the problem of talent in government has always been one of the hiring process being controlled by contractors and the perverse economic incentives of the traditional bodies-in-chairs contracting model.

<comment><USER9> > Now, HTTPS everywhere is a dubious project, sorry Konklone

Well, I like it. =)

<comment><USER35> OH NOES! Hey Eric! :P

The problem we have with our project is that we're dealing with a ton of subdomains and not a lot of data I would consider "sensitive" enough to really necessitate encryption. While I appreciate the sentiment of the project, and value your commitment to privacy, for our use case it's definitely a bit of a pain in the butt.

That, and I know getting IT departments to move to install certs on their old infrastructure for things that might not require encryption is definitely painful. And the errors generated by expired certificates and "insecure content warnings" are confusing, and don't add value to projects that don't benefit from encrypted connections. We've been hearing all about it.

<comment><USER66> Honestly, now that I read down the thread, it kinda sounds like you don't have your shit together and you want to blame someone else who created something awesome for it.

It's not important whether _you_ consider the data sensitive enough to bother doing your job. It's actually your users, which, if they've installed HTTPS Everywhere, they do.

So get your shit together! :)

<comment><USER9> FWIW, vippy's not referring to the browser extension, but to the federal policy:

[https://www.whitehouse.gov/blog/2015/06/08/https- everywhere-...](https://www.whitehouse.gov/blog/2015/06/08/https-everywhere- government)

<comment><USER35> Yes, thank you konklone. My primary complaint with the policy, and I'm hesitant to complain because, let me be clear, it is a good policy, is that we're now held accountable to a metric that adds engineering complexity and additional costs to our small team, and has created some confusion amongst our hundreds of customers who, arguably, don't serve content that, in my professional opinion, requires an encrypted connection to meet the needs of their millions of users.</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment>


AdBlock Plus teams up with Flattr to help readers pay publishers - <AUTHOR> http://techcrunch.com/2016/05/03/adblock-plus-teams-up-with-flattr-to-help-readers-pay-publishers/ <comment><USER2> The ad blocking business is getting too cozy with the advertising business. Time to disrupt it again.

The Adblock people claim they're going to collect a half billion dollars a year in voluntary payments. Has anybody in the history of voluntary payments for software ever collected half a billion dollars? The American Red Cross collects about $700 million a year. Somehow, I expect that Adblock's system will not be "voluntary".

<comment><USER3> There's, at this point, nothing to worry about. The insanely dedicated people who maintain the ad blocking lists are the real heroes here, the client that uses them is completely replaceable.

If/When ABP goes over to the dark side people will stop using it. There are plenty of replacements, uBlock Origin being the current winner.

<comment><USER4> ABP already is part of the dark side with their "acceptable ads." It boggles the mind why a program whose sole purpose is to block ads would not do so out of the box.

Anyone who hasn't yet switched to uBlock Origin should do so ASAP. It's super fast, has a much smaller memory footprint, has a strict policy against "acceptable ads" ([https://github.com/gorhill/uBlock/blob/master/MANIFESTO.md](https://github.com/gorhill/uBlock/blob/master/MANIFESTO.md)), licensed under the GPLv3, and hosted in a very active repository on GitHub ([https://github.com/gorhill/uBlock](https://github.com/gorhill/uBlock)).

<comment><USER5> > ABP already is part of the dark side with their "acceptable ads." It boggles > the mind why a program whose sole purpose is to block ads would not do so > out of the box.

I actually like the acceptable ads system. I don't inherently object to advertising (content has to be paid for somehow, and I'd rather pay with my attention than with my money). I just object to invasive or distracting ads, and ABP does block those.

Google Search ads, for example, are fine by me.

<comment><USER4> The "acceptable ads" initiative is how the company behind ABP makes money. It is their primary revenue driver and is the primary differentiator from other products on the market.

Yet, they choose to name their product in a misleading way, suggesting they do something which, by default, their product does not do.

If ABP was a drug, what would the FDA say? :)

We all know that outside tech circles most people don't even know what "acceptable ads" are, assume ABP does what it says on the label, and don't bother changing defaults. That's why ABP's business is so shady.

<comment><USER5> How does something generating revenue automatically make it immoral or unacceptable?

Pharmaceutical companies generate their revenue from selling drugs. That doesn't make selling drugs illegal.

Nobody is getting tricked by ABP. For one thing, their homepage literally says "unobtrusive ads aren't being blocked in order to support websites" right above the install button. [0] Moreover, even if a user were to install it and still saw ads they would realize that it's _not_ in fact blocking all ads.

Since you apparently hate capitalism, I'm curious how you're paid.

[0] [https://adblockplus.org/](https://adblockplus.org/)

<comment><USER4> I don't hate capitalism and there's nothing wrong with generating revenue. In fact, the rise of ad blocking is a perfect example of market efficiency. What's important here isn't the software that blocks ads, but the expression of preference by hundreds of millions of people around the world who say "we do not want to see ads on the web and we know they can be stopped."

Believing "acceptable ads" can thrive alongside such knowledge is naively asking to be reminded of the tragedy of the commons and the fact that such widespread coordination usually happened in either dictatorial or communist societies.

Revenue will be generated, only that it will eventually have to come from consumers directly to publishers and content creators.

<comment><USER5> You seem to hate capitalism because your argument against ABP was basically "they get revenue."

ABP is in fact a capitalist solution. It gives advertisers an incentive to tone down their ads so they can be seen by more people.

Absolutist ad blockers are actually the ones exploiting the tragedy of the commons. Without advertising, the content which you're viewing without ads would not exist.

> Revenue will be generated, only that it will eventually have to come from > consumers directly to publishers and content creators.

Why? That's your personal preference and political position. Reality isn't forced to adapt to your preferences and in practice advertising has existed for thousands of years—it's unlikely to go away anytime soon.

Moreover, I suspect that if you asked most people outside the HN echo chamber they'd actually rather have advertising than paying through subscriptions.

<comment><USER6> _You seem to hate capitalism because your argument against ABP was basically "they get revenue."_

This is a very disingenuous representation of the other comments in the thread. It's a low-brow dismissal by straw man and an appeal to the sacrosanct "capitalism". You seem to be trying to manipulate others into supporting your view by labeling the other view as anti-capitalism. This is the same as accusing anyone who opposes government surveillance of "hating freedom".

ABP is problematic because of _how_ they generate revenue. From the advertisers' side, it looks like racketeering. From the consumer side, it looks like the tobacco industry paying your doctor to get you to smoke. Accepting money to whitelist ads is the very thing an ad blocker should never do.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> I've always liked the idea of Flattr and this is exactly what I've wanted to see from them since the beginning. It's like Spotify, generalized to the web: one monthly payment to support all the (web) content you consume in the month.

But I prefer uBlock Origin to ABP for ideological and performance reasons, so I'm not sure if I'll use this yet.

<comment><USER8> Yes, I believe that a subscription platform like this is the way forward for web content. It's a project I'm interested in undertaking someday. Will be interesting to watch how this pans out.

<comment><USER9> I'm working on this problem, want to shoot me an email and discuss it?

</comment></comment></comment><comment><USER10> This is similar to Google Contributor [https://www.google.com/contributor/welcome/](https://www.google.com/contributor/welcome/) except it will work with any advertising platform and hopefuly work outside of the US.

I currently put €10 per month on Flattr and it would be great to not have to click each time I want to help out a publisher.

<comment><USER11> Don't you want at least that bit of explicit control? To avoid giving money to inane clickbait, etc.?

I've used flattr in the past, but the main problem for me was that there was so much low-effort stuff fighting for clicks. Flattr has good reasons for their just share everything evenly default, but unfortunately it also makes low effort stuff a lot more viable relatively speaking.

<comment><USER10> Nope, but if I click on something and then exit within say 5 seconds then no payment should be made. Yes, clickbait is a risk but there is an even bigger risk that I'll get engrossed in a long form article and completely forget to click some button. For a long form article where I spend a good say 30 minutes reading it there should be a much larger payout.

Thinking about it, allowing me to configure these parameters would be good.

</comment></comment></comment><comment><USER12> Haven't used ABP in years because of their white listing for ad providers that paid their ransom. uBlock Origin has better performance anyways.

<comment><USER13> Me neither. uBlock is much more efficient. Anyway, I still support the concept that AdBlock 'creating' here.

</comment></comment><comment><USER14> After the deal they made with Google to allow their ads, I wouldn't trust Ablock Plus anymore. Just go uBlock Origin. It's one guy - not sure why you need a team in the first place -, better performance, more ads blocked, fully open source and no BS.

<comment><USER15> While I'm happy to see a way for people who don't want to see ads can contribute, I also vastly prefer uBlock Origin. Adblock left a bad taste in my mouth when they asked for money. Their entire product is based around denying content producers a way to monetize their own product. It felt sort of like a for-pay torrent site.

</comment></comment><comment><USER16> I would prefer the hidden costs of using a service to vanish and for those costs to be replaced with explicit costs. I don't delude myself in thinking the majority hold my view on this though. I personally prefer $1/mo to Free* any day, but would only really do so without the explicit tracking involved.

Sadly, subscription models are the way to mass adoption. People are lazy and want to make one explicit payment to some centralized authority that then grants them a theoretically unlimited, but practically and economically limited, selection. It's the retail store all over again, just on the web. Spotify, Netflix, Steam replaces craigslist.

I see the perfect world being a super thin middle-man client(s) that exposes a protocol that the content producer/seller implements. Want to buy a song, a game, a movie, article? Use a client to access and pay for it then receive it. Still want a middleman to handle refunds, advice, suggestions, support? Go find a car salesman, Amazon or flattr thick client that'll add their markup for added convenience. I think this would shift the current problem away from "getting into Steam for a reasonable price" to "making a good game".

There are abuse, censorship, maintainability, legal, adoption, discovery concerns, but I said perfect world. I'm just afraid for a future where DRM/EME and Webassembly obfuscation make it impossible to get quality content on the web when everyone flocks to these gatekeepers for everything. Cable companies 2.0.

</comment><comment><USER17> I like the idea, but not the implementation:

> Unlike Flattr, users don't have to click a button to "Flattr" a website — > instead, it will automatically track their browsing activity and distribute > the money based on their engagement.

One of my main objections to most forms of online advertising is the tracking/profiling. I don't see why there can't be a button unless they plan on selling the info; in which case it's hardly an improvement over ordinary web ads.

I glanced at the website, and they say the info is stored locally and only the final results get sent back to headquarters, but there's no privacy policy or other detailed technical explanation of what this means.

I guess that's understandable since apparently they're not sure how they can measure the worthiness of a given web page:

> Plus, the question of exactly how to calculate engagement is a tricky one. > You probably don't want to reward a worthless article with a dumb-but- > effective clickbait headline. You might also leave an article open for hours > without actually reading it.

Which just reinforces my notion that the user should have a button. Otherwise you're going to have situations where users are tricked into visiting worthless pages or end up paying to support website that they might not want to support. Can you honestly say that you would choose to support the people behind every website you visit?

</comment><comment><USER18> The system is also tracking everywhere you go on the web. Yet another entity that wants to track everything you do. Somehow I doubt they'll pass up the opportunity to monetize that data.

</comment><comment><USER19> Honestly if I go to your website to read some "news" or whatever, and you ask me for money or to enable ads or-else you won't show me content. I'll just close your window and never come back.

<comment> k-mcgrady That seems to be exactly what they would want you to do. You're not generating any revenue for them and clearly have no intention of doing so.

<comment><USER19> Their business model is broken and it is not my fault. Give me relevant ads that don't spy on me and that are not benchmarking my CPU every-time they load a piece of JS and we'll be fine.

<comment> k-mcgrady Their business model isn't necessarily broken just because it doesn't suit you. They're clearly still generating enough revenue they can afford to lose you as a customer.

>> "Give me relevant ads that don't spy on me and that are not benchmarking my CPU every-time they load a piece of JS and we'll be fine."

Isn't this giving you EXACTLY what you're asking for? You donate a very small amount of money nautically by reading content you block the ads on.

<comment><USER20> No you don't understand. Apple's business model is broken because the macbook is too expensive for my tastes.

</comment></comment></comment></comment></comment><comment><USER21> IMO, this looks like a reactionary move to Brave and a poor one at that: [https://brave.com/blogpost_4.html](https://brave.com/blogpost_4.html)

Aside from AdBlock's nebulous ability to block ads except for the highest bidder, they're introducing workable micropayments (yay!) but with a heavily centralized entity (boo) that ensures tracking will now not be blocked, but actually become a core feature.

Brave addresses this by citing [https://anonize.org/](https://anonize.org/) as the backend for their micropayments architecture to remove this tracking vector. I loved Flattr a decade ago when it was released, but any model that actively relies on user identification (intentionally or not) is a threat in 2016.

Caveat: Read about Brave, looks great, still too young as a browser to be my daily driver.

<comment><USER22> I don't think micropayments are the way with systems like this. I think they need to just keep score and pay registered content providers based on traffic. With micropayments you need to have an action by the user which is even less likely if it actually costs them more money.

</comment></comment><comment><USER23> If you want to pay publishers, why not just give them the impressions, instead of install sketchy ad blockers, have them handle your money, and then hope that they distribute it to publishers on your behalf.

The article says ad block will tell publishers how much they COULD have made - what happens to that money?

</comment><comment><USER24> I'm really starting to think I chose the right path by just installing Flashblock and ignoring the remaining ads.

The Ad blocking business is beginning to look awfully shady.

</comment><comment><USER25> Finally! It was obvious that something like this needed to exist, and I think this is the most elegant solution.

I'm extremely excited about it, I really hope this takes off.

Probably in the future there will also be a system that allows websites with premium content make money the same way(some sort of universal paywall with one convenient payment method). People will end up paying $10 per month for access to a network of premium websites.

I think that it is a good thing, because incentives will align in a way that encourages websites to focus on producing high quality content instead of clickbait and trying to manipulate people's attention.

<comment><USER26> This system is just going to keep encouraging click-bait and tracking the same way ads do. If you want to encourage actual quality, real stuff people want, then funding has to be based on people actually wanting to reward something not just that they click and load a website.

</comment></comment><comment><USER27> The worth of the metrics are questionable. Not only do I not want to send some company information on every page I visit, how long I look at the page, and how far I scroll; it's also irrelevant to who I want my money to go to. I wish I could take away money from some of the garbage I read, and I send money to things that I don't read (because I already know them) but I want to have available for other people to read.

It seems like they're trying to closely imitate an ad model, and consequently the commensurate micromanaged loss of privacy for the web consumer.

</comment><comment><USER28> The thing with all those payment services is that they are trackers. I would pay for so many things if there was something like untraceable, digital cash.

</comment><comment><USER29> So flattr, which I deemed a nice and welcoming service, teams up with Adblock plus folks, known for their acceptable ads program, their millions of $ taken in by Google etc.

Strange times.

</comment><comment><USER30> Flattr, aren't this those guys who ask for a greedy 10% share. If Adblock and Flattr will work together there will be less to nothing left for publishers.

<comment><USER7> Yes, this terrible awful rate is completely out of the norm for the industry. For example, on AdSense, publishers get 68%-51% share! [0] Oh wait, 10% is the cut that Flattr takes, of which _90%_ is kept by publishers. Note, included in that 10% is the macro transaction fees paid to integrate with other payment providers.

[0]: [https://support.google.com/adsense/answer/180195?hl=en](https://support.google.com/adsense/answer/180195?hl=en)

<comment><USER30> You are comparing apples with oranges.

</comment></comment></comment><comment><USER31> The 'main-streaming' of ad blocking has led to sites fighting back against ad blocking. I have been using etc/hosts from [http://someonewhocares.org/hosts/](http://someonewhocares.org/hosts/) for past several years and I have begun to notice that I certain sites , such as wired and forbes, have blocked my access.

<comment><USER32> There's this GitHub repo with host files setups for exactly this need : [https://github.com/StevenBlack/hosts](https://github.com/StevenBlack/hosts)

</comment></comment><comment><USER33> Advertisers should pay the users to display ads to them. If the users think the pay is good enough, they will see them. If not, then they reject the ads.

</comment><comment><USER34> Publishers need to start treating their readers like customers. If they had a relationship with me, there's be no ad networks and no ad blockers.

<comment><USER35> The publications I pay for treat me like a customer.

</comment></comment><comment><USER36> I'm usually quite against ad-blockers, but this kind of thing could be a step in the right direction.

</comment><comment><USER37> Good luck with selling something to people that they don't want.</comment>


Chromium: "MathML is not something that we want at this time" - <AUTHOR> https://code.google.com/p/chromium/issues/detail?id=152430#c43 <comment><USER2> Please read the rest of what Ojan wrote: "In areas where libraries like MathJax are not good enough, we'd love to hear feedback about what APIs we would need to expose so that MathJax, et al, can create an awesome MathML implementation."

One of our goals is to make it possible to layer technologies as complex as MathML on top of Blink without requiring Blink to ship everything and the kitchen sink. See new technologies like Custom Elements ([http://www.w3.org/TR/custom-elements/](http://www.w3.org/TR/custom- elements/)), which are part of this story.

<comment><USER3> Didnt XHTML stand for eXtensible HTML ? maybe XHTML was the right way at first place , just saying.

<comment><USER4> XHTML _was_ right. People were just too lazy to close there tags and did not really understood what would the consequences of not having a robust and formal way to extend the language.

HTML went the same way other popular languages (e.g.: VB, PHP, Perl), they got broad adoption because the compiler/interpreter/renderer would be too kind in working hard to fix user mistake instead of reporting them.

And then, when they tried to fix it, the same user base complain (despite being bitten many times by the language) that it should stay like it is, because it has always been like that.

When bad habits became traditions, you are really in a bad position.

<comment><USER5> No: [http://web.archive.org/web/20081211052740/http://diveintomar...](http://web.archive.org/web/20081211052740/http://diveintomark.org/archives/2004/01/14/thought_experiment)

"The client is the wrong place to enforce data integrity. It's just the wrong place. I hear otherwise intelligent people claim that if everyone did it, it would be okay. No, if everyone did it, it would be even worse. If you want to do it, of course I can't stop you. But think about who it will hurt."

<comment><USER6> Hard to see how it would have been worse if all browsers had implemented stop- on-error, because then the developer/tester's browser would not have rendered the erronous page. That would mean that the developer/tester would have had to not try the page even once before shipping, if a bad page were to make it to production.

<comment><USER5> The page only became bad when the blog received a trackback from a different blog with a different character set. At that point the blog software erroneously changed the page's content and made it invalid. It was a software bug, plain and simple. The page was fully valid when the blog author published it.

For the developer/tester of Typepad (the blog software) to catch the bug, they would have had to trigger this bug in development/testing before it made it into the wild. While we always hope developers will catch as many bugs as possible, some will always slip through. Strict validation on the client means that even the slightest bug can make the website 100% down/unavailable, even though the browser would be perfectly capable of displaying something that 99% works.

Modern web sites are huge amalgamations of dynamically-generated content using umpteen templating technologies and aggregations of data that come from sources that the page's authors do not necessarily control. Guaranteeing that their output will always be valid XHTML is not trivial.

<comment><USER4> I disagree. The issue described is an input sanitisation issue. The same thing would have happen to a SQL query and everyone would have put shame on you.

It IS a bug that the blog engine developers should have catch, in the same way they should have protect the trackback from XSS injection.

Guaranteeing your output will always be valid might not be trivial, but it is way less harder that some people pretend it to be.

<comment><USER5> Bugs will slip through. They just will, it's a fact of life.

The question is, when they do, will you let the browser gracefully recover, or will you demand that the browser show an error page, even though it could do something reasonable?

The security analogy would be to let all your code run as root, because the main security mechanisms _should_ prevent users from executing arbitrary code. But this is fragile, because any security bug would compromise the security of the system completely.

What we do instead is have defense in depth: even if the first layer of security is compromised, there are other layers of security that can (hopefully) contain the damage. Permissive client rendering likewise limits the damage that one bug can do.

<comment><USER4> Having seen so many failure getting worse because people did not paid attention to it in the first place, I would go for the error page.

That said, even if we choose a defense in depth, it still is not a valid reason to throw away XHTML as it was done.

The same way you will not remove your firewall because it does not block dormant viruses, but add an antivirus, the browsers could have still continue putting effort in rendering the correct, and powerful, XHTML, while setting down some decent fallbacks to recover. Being we a be red warning to raise awareness that something need to be fixed.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> Here's a Mozilla mailing list thread discussing dropping MathML support. The linked post explains why MathML is desirable (e.g., accessibility, performance, accuracy of rendering, standards compliance, necessary for ebooks).

[https://groups.google.com/d/msg/mozilla.dev.platform/96dZw1j...](https://groups.google.com/d/msg/mozilla.dev.platform/96dZw1jXTvM/rIzKSrRgk18J)

</comment><comment><USER8> The Chromium guys really don't like to add new features based on user requests.

Here[1] they refuse to add support for SIL Graphite[2], which is essential for making text in certain languages render correctly. (Of course, Firefox already supports it.)

Comment #9 was the same guy ranting against libgraphite2's code quality, but it's been deleted now.

Thankfully, they've since changed their mind on that one. We might still see Graphite support in Chrome.

[1] [http://code.google.com/p/chromium/issues/detail?id=140007#c7](http://code.google.com/p/chromium/issues/detail?id=140007#c7)

[2] [http://scripts.sil.org/cms/scripts/page.php?site_id=projects...](http://scripts.sil.org/cms/scripts/page.php?site_id=projects..).

<comment><USER9> "Comment #9 was the same guy ranting against libgraphite2's code quality, but it's been deleted now."

Is there anything to say he was wrong?

"Thankfully, they've since changed their mind on that one. We might still see Graphite support in Chrome."

So what your saying is that after the serious code quality issues he apparently ranted about disappeared, they reconsidered (that's what the comment stream seems to say ...)?

</comment></comment><comment><USER10> This decision is potentially very big. How can Chrome, a browser that has so actively pushed HTML5 forward, reject a component of the spec? I mean IE supports WebGL for crying out loud, I wasn't sure they ever would, but even they're playing ball.

We'll see what happens here, its a pretty vague comment right now. What does "at this time" really mean? Is it just delayed so other things can be focused on? I could understand that. Things like the new input controls should be a bigger priority, they are more important for 99% of all users.

Very interesting, it makes it hard for Chrome to criticize any other implementation.

</comment><comment><USER11> I don't understand - doesn't Google want the web to be a first-class platform for scientific research? Chrome is supposed to be the standards-compliant browser! Not to mention, if scientists have an easy way of creating markup versions of their LaTeX files you'll see a huge influx of scientific work on the web!

<comment><USER12> I think if you look at the MathML standard or some example markup you'll understand. MathML is prohibitively verbose. It comes in two flavors, display and structural, and neither one is amenable to busting out equations. Even when MathML is universally supported by browsers it will still be treated as fundamentally an interchange format seldom seen by human eyes, mostly generated by systems like MathJax from human-friendly TeX.

As long as you're converting TeX math to something else, MathML is preferable only because it _may_ look nicer rendered than an image raster from TeX.

<comment><USER13> MathML is a valid compile target for TeX equations, it doesn't matter how easy it is to write by hand nor does it matter how verbose it is. It is intended to be an interchange format seldom seen by human eyes or written by human authors.

<comment><USER12> When the OP says "if scientists have an easy way of creating markup versions of their LaTeX files" it sounds like they'll be writing it by hand, don't you think? Alternatively, a toolchain involving compilation to HTML+MathML doesn't sound to me like a problem for browser vendors.

</comment></comment></comment></comment><comment><USER14> Over at the chrome dev team: "Oh shit, it's in the spec?"

<comment><USER15> TeX should be part of the HTML spec too.

Why not <tex>E = mc^2</tex>?

<comment><USER16> Because that's not possible to style with CSS.

</comment></comment></comment><comment><USER17> Obviously. Chrome is only about pushing out features which Google needs to deliver their platforms and products.

MathMl, despite being in the spec does nothing to this end.

<comment><USER9> Or, you know, you could not always assume the worst. Did you think the same when mozilla seriously considered dropping it?

<comment><USER18> the difference is the discussion that happened, where also mozilla employees weighted in to support mathml. there is afaik no open discussion in chrom(ium|e).

<comment><USER9> First there is a discussion on the bug report. How is that not open?

If you want a mailing list discussion, did you start a discussion on chromium- dev, or is your complaint that nobody else did?

From what I see, the discussion existed on a bug report because that is how it was reported by a user as a feature request. Support was never complete, the person maintaining it stopped doing so, etc.

</comment></comment></comment></comment><comment><USER19> Even MathJax would be much better than what many large sites, including Wikipedia, still use - static images. It's very annoying not to be able to search for things inside the math, and the images are low resolution and ugly on a Retina Display.

(However, I guess Wikipedia has a MathJax option; I wonder why it's not enabled by default.)

<comment><USER12> Maybe they get a lot of those mythical users who don't have Javascript enabled.

<comment><USER19> It's possible to support both options. Alternately, in theory I don't see why the math couldn't be rendered on the server, although I don't think MathJax can currently do this.

<comment><USER20> Similar to this (but with a different syntax)? [http://www.quicklatex.com/](http://www.quicklatex.com/)

<comment><USER19> This appears to render to an image, which has the problems I mentioned. MathJax renders to HTML.

</comment></comment></comment></comment></comment><comment><USER21> Please everyone, stop acting so holy about "the spec". The HTML spec isn't sacred. It's very reasonable to discuss it, even after a feature has been approved.

How else will we improve the existing features? If we don't change existing things, the browser will stay the stinking ball of backwards compatible code it is today.

<comment><USER22> >Please everyone, stop acting so holy about "the spec". The HTML spec isn't sacred.

This argument is never accepted when it comes from Microsoft. When they refuse to implement a standard it's an 'attack on the web' and MS trying to 'kill' the web for their own commercial interests. When Google rejects a standard and their public reasoning is that they can't be bothered to finish the implementation (it was already in Webkit after all) then we should just accept it. But why? Because Google is 'good' and Microsoft is 'bad'?

The reality is that MathML isn't in Googles commercial interest so it won't get done. That is the real story behind all the happy sing-alongs about the open web: it is ruled by a couple of teams in large powerful corporations who have the power to kill any part of the standard that conflicts with their commercial interests, or even just fails to promote their commercial interests.

<comment><USER21> Stop making everything so black and white. No corporation is 'good', nor 'evil'.

Yes, the spec is run by corporations. No, that's not evil. Yes, they'll probably promote their own interests. No, that's not the end of the world.

<comment><USER22> I wasn't saying I think they are good or evil. I was saying that kind of black and white thinking seems to be what leads the web community to attack MS for ignoring standards but defend Google for doing the same.

>Yes, the spec is run by corporations. No, that's not evil. Yes, they'll probably promote their own interests. No, that's not the end of the world.

It's fine as long as we have native open platforms that we can use instead. However Google and Mozilla want us all to be running web based OSs. In that world yes it would be a huge deal for one player to block a standard.

</comment></comment></comment></comment><comment><USER23> Before all the chrome and Google bashing starts...

The point is why do we need something specific for math. Would people be OK with a musicml? Or say chemicalml? And that's a good question. Why is math so special? Let's try to solve the problem more generically instead of adding specialized domains in the browser.

<comment><USER24> Do MusicML or ChemicalML exist yet? I'd be interested even in the specifications if you've got some links. A quick Google didn't net much.

<comment><USER5> MusicXML does: [http://en.wikipedia.org/wiki/MusicXML](http://en.wikipedia.org/wiki/MusicXML)

<comment><USER25> The closest thing to an open-source in-browser JS renderer would be something based on [https://github.com/0xfe/vexflow](https://github.com/0xfe/vexflow), but a reliable converter for MusicXML hasn't been written yet.

</comment></comment></comment></comment><comment><USER26> I don't particularly care that it's in the spec, personally. MathML is horrid. This page covers it well: [http://aiju.de/rant/XML/MathML](http://aiju.de/rant/XML/MathML)

<comment><USER22> If we were going to reject technologies because they were horrid there wouldn't be much of the web left. HTML is horrid. CSS is horrid. Javascript is horrid.

<comment><USER26> The difference here is that there are better alternatives to consider instead.

<comment><USER18> which? i prefer _writing_ tex as (nearly) everyone, but read the mozilla thread for arguments, why there is nothing else that might work.

</comment></comment></comment></comment><comment><USER27> There's a part of me that feels like the web has gone too far in the direction of overly concentrating power into the hands of the browser vendors.

I would love to see somebody fork Firefox or Chromium and create a browser that:

a. does implement all the relevant web standards ( like MathML, SVG, etc., etc.)

b. is more responsive to the community than current Firefox or Chrome

c. can serve as a testbed for experimenting with new web based technologies.

Sadly, a lot of that is what Mozilla purported to be _waaaaayyyy_ back in the early days (I'm talking 1998 or so), but at some point they (Mozilla) decided that competing with IE for market-share was the #1 priority.

Of course part of the problem is that browsers are big, complicated, difficult projects, and it takes a lot of resources to maintain and build one. So I'm not too optimistic about seeing this mythical "more community driven browser" emerge anytime soon. _sigh_

All of that said, I'd love to see some experimentation around actually making a sharp distinction between documents and applications and some mechanisms for "handing off" application "stuff" to something other than the browser where the goal is to remote out the UI to an app. JNLP was a good start on that, but Sun's failure to deliver something like the Consumer JRE about 7 years sooner, and then the rash of JRE security bugs, more or less killed that as a viable possibility. But something _like_ JNLP, not tied to Java, and with fast startup times and without the security bugs, could be very interesting.

I just wish I had time to experiment with this myself, but sadly I'm too heads down grinding on other things. :-(

</comment><comment><USER28> Hopefully Gecko and WebKit will forge ahead with this. There are members of the community willing to work on MathML:

[http://www.maths-informatique- jeux.com/blog/frederic/?post/2...](http://www.maths-informatique- jeux.com/blog/frederic/?post/2013/10/12/Funding-MathML-Developments-in-Gecko- and-WebKit)

</comment><comment><USER29> _"... several engineering weeks had already been spent trying to resolve the security issues before we were forced to disable the code."_

It's not clear what other issues are causing them to not adopt MathML, but this was at least a severe one, and nobody in any of these comments seems to have acknowledged it. The sentence quoted in the title may have been a bit of a mis-statement, since every other bit of discussion is about maintenance and security issues, not a philosophical rejection.

(I'm not sure I understand this correctly, but the other comments here have not helped at all.)

</comment><comment><USER30> Sure, great decision! If nerds want math, they can type it with -xxx-border- radious hacks.

Seriously, the only cross-browser way left to have nice looking equations without MathJAX is to make SVGs with dvisvgm, of course for the cost of interoperability.

</comment><comment><USER31> I've been using bing as an experiment for the last three weeks or so. Google is far better for academic searches, and better support for math rendering would help extend the lead in that category. Isn't that reason enough?

<comment><USER32> Google exists to advertise. Academics are woefully underpaid. Who wants to advertise to a bunch of broke intellectuals that are just going to ignore your ads anyways?

<comment><USER31> Doctors are perfectly good candidates for ad targeting, and some are paid quite well (even at academic research hospitals). Those institutions also have quantitative science departments.

</comment></comment></comment><comment><USER33> Does MathJax play well with screen readers and other accessibility solutions?

<comment><USER34> Does MathML? (Excluding imaginary screen readers – imaginary screen readers can support anything.)

<comment><USER33> imaginary screen readers?

Yes, there are solutions for MathML for accessibility.</comment></comment></comment>


Inside Google Spanner, the Largest Single Database on Earth - <AUTHOR> http://www.wired.com/wiredenterprise/2012/11/google-spanner-time/?cid=4687034

<comment><USER2> Current front page discussion of same article:

<http://news.ycombinator.com/item?id=4831566>

(It helps to submit articles with the canonical URL, without extra referrer codes on the end of the URL.)</comment>


Show HN: Maid – Markdown driven task runner - <AUTHOR> https://github.com/egoist/maid <comment><USER2> This seems like a cool idea, but I'm hesitant to run it locally.

Is an early version of the application with no unit tests and it eagerly calls `sh` command with string input ( see: [https://github.com/egoist/maid/blob/master/lib/index.js](https://github.com/egoist/maid/blob/master/lib/index.js) )

I would be worried that some parse error or non-obvious typo in the Markdown format could result in `sh` accidentally running something destructive locally.

Still though, I like the idea and am now following the project, you should keep working on it!

You may want to consider running the Node tasks in a separate subprocess instead of using `require-from-string` module in parent process. You could also try using [https://github.com/stackvana/microcule](https://github.com/stackvana/microcule) to add support for subprocess execution and multiple programming languages.

<comment><AUTHOR> yeah unit tests are coming..

> I would be worried that some parse error or non-obvious typo in the Markdown > format

well I couldn't help this too much since it uses markdown-it under the hood to parse the markdown, i think it's safe as long as you don't write destructive shell script yourself..

> You may want to consider running the Node tasks in a separate subprocess > instead of using `require-from-string` module in parent process.

will give this a try. also PR welcome xD

<comment><USER2> That sounds good!

I'll keep an eye on the Github Issues and may make a PR.

</comment></comment></comment><comment><USER3> Many positive comments - am I the only one who doesn't like these declarative yaml, markdown, dsl things? No offence to the author(s), it's probably well implemented, I just can't stand these things primarily because of the lack of types, I never know what I'm looking at. I would much rather read comments and code.

<comment><USER4> I doubt this is meant as a production tool. Its probably just a proof of concept to explore an interesting idea.

I cant agree on your point though. While there is a place for custom build tools, its incredibly rare. And if you're in a situation where you actually need to build a custom build tool for your project, you should consider fixing the reason why you'd need that. Builds shouldn't need such a complicated process..

</comment></comment><comment><USER5> Would be nice if tooling took the principle of least astonishment[1] into account.

A markdown which is also a build file with specific rules on headings and first block quotes? High astonishment.

Literate programming without text semantics? Medium astonishment.

Declarative dependency tracking build tool, such as CMake? Low astonishment.

[1] [https://en.wikipedia.org/wiki/Principle_of_least_astonishmen...](https://en.wikipedia.org/wiki/Principle_of_least_astonishment)

<comment><AUTHOR> > A markdown which is also a build file with specific rules on headings and > first block quotes? High astonishment.

This is wrong in the first place.

</comment></comment><comment><USER6> Really like this idea. I'm going to build something like this for the scripts I write for administration and operations. Script and documentation in the same file. Pass it through another script and it spits out HTML documentation.

I suppose Sphinx(Python) or equivalent in other languages already do this, but the ease of use of Markdown is lucrative.

In my case Python - the language already recognizes lines starting with # as comments. Goes on to check out the rest of the stuff.

<comment><USER7> What's the benefit over having a doc comment style that can be transformed into documentation?

</comment></comment><comment><USER8> Neat. It's like documentation that is also code instead of the other way around.

<comment><USER9> The term is "literate programming", if you'd like to learn more. It's how I keep most of my notes.

</comment></comment><comment><USER10> The world definitely needs this, it has 230 stars in just 10 hours!!! What a useful tool, I think a maidfile would fit very well into the short list of *files of [https://github.com/tootsuite/mastodon](https://github.com/tootsuite/mastodon)

</comment><comment><USER11> To me this sounds like Org Mode in Emacs, except that it's editor-agnostic while still being runnable. I haven't used it, but I'm intrigued. Can someone who's familiar with Org Mode tell me if this is a fair comparison? I think Org Mode has a wider scope, but some of the same benefits.

<comment><USER9> org mode is much more evolved than this. That does mean that it's less lightweight and requires the use of emacs, but I honestly think that org mode (and magit) by themselves are reasons to use emacs, even if just for those packages.

Features of org mode that I use:

* Full editor support for the language you're writing -- syntax highlighting, structural editing, etc

* On-line evaluation of code blocks, with the results appearing after said code block

* Threading of data through multiple code blocks -- I can perform an SQL query and transparently pass the result to gnuplot for visualization -- emacs takes care of translating the intermediate data between formats

* Full noweb-style tangling of source

and many more.

<comment><USER12> I do wish there was a more standalone way to interact with org-mode files. Being the lone Emacs user on a team feels like I lose a lot of the power of org files.

I would love to write our tasks / build config out in org-mode, but running that on someone elses machine w/o Emacs, CI, etc. seems not highly supported.

<comment><USER9> I think the easiest answer to that is to ship a stripped-down emacs that starts in org mode, probably with keys remapped to the "standard" set (`C-a` for select all, etc).

</comment></comment></comment></comment><comment><USER13> This is pretty cool! I've thought about putting something like this together for building (web) front-end sources from markdown. It's probably a terrible idea, but I thought it'd be helpful for writing e.g. a programming book that was itself executable.

</comment><comment><USER14> We built something similar(markdown + runner) for testing at [http://github.com/getgauge/gauge](http://github.com/getgauge/gauge)

</comment><comment><USER15> Is there something like this but for regular code? I think it's called verbose programming or literal programming? I can't remember but if anyone knows of similar projects, please let me know!

<comment><USER16> Literate programming. You'd write a collection of blocks and "tangle" them into a program (weave usually means generating the documentation).

A common workflow for me when prototyping something, and then I let it grow into a fullblown program, with org goes something like this:

      * Main
        This program will print out "Hello, world!".
        #+NAME: main
        #+BEGIN_SRC c :tangle hello.c :noweb yes
          <<includes>>
          int main(void) {
            <<main-body>>
          }
        #+END_SRC
      * Includes
        - stdio :: this is included to get =printf=
        - others :: if I had other includes I'd explain why here
        #+NAME: includes
        #+BEGIN_SRC c
          #include <stdio.h>
        #+END_SRC
      * Main body
        Maybe an explanation of the algorithm
        #+NAME: main-body
        #+BEGIN_SRC c
          printf("Hello, world!\n");
        #+END_SRC

Literate programming doesn't care about the order, I can put that main at the bottom or in the middle. This allows me to introduce program concepts in a logical fashion that is different from what the compiler wants or needs. This allows me to, for instance, group all data structures and even share code across them where this would be less feasible in straight C. References like the `<<main-body>>` can be shared by multiple code blocks.

Obviously, as programmers, we want to minimize repetition. But sometimes a language forces us to repeat ourselves. If it gives us a way to include common source blocks, that's awesome (like you can make a header file called _common.h_ that every one of your source files includes). But that's feasible in every language. Nor are the macro systems ideal in every case where it is technically feasible.

As I write the code, usually in one pane of tmux, I'll tangle it. Then in a separate pane (usually on the right) I'll execute the code. Or I may have something that monitors the files for changes and builds it automatically and runs tests.

EDIT: This is also an effective technique for developing an understanding of a new code base. Bring all the code into one big source block in a new org file (or whatever you use). Tangle it and make sure it's the same as the original (this process gets repeated a lot, make it a script).

Grab segments of the code and extract them into new blocks (with a properly named reference). I usually do this with large chunks (whole class declarations, struct declarations, or function definitions).

Document what the code does and its relation to other segments. Repeatedly extract segments until they're down to reasonable chunks (a 500 line function? It's probably worth going down to 10-50 smaller blocks covering each logical section).

<comment><USER17> I've been aware for long that I know so little about org-mode so I had never imagined I could do such a thing. Love this idea for understanding a code base, I'll have to try this out.

<comment><USER16> This is my true "killer feature" from org-mode. I can do outlines in almost anything. Markdown is good enough for a lightweight, text-mode document formatting system.

But the ability to integrate code from any language into a document, and spit that same code out for execution, makes it a near ideal environment for me. I miss some features from IDEs doing this, but honestly it's not that big of a deal for me. I end up having to commit more to memory. Or write up my own tutorial/example section for things that I keep forgetting. You can have code blocks that don'

</comment></comment></comment></comment><comment><USER18> So we're going to take something that's not really a standard to begin with (Markdown is about as dependent on the renderer as HTML) and add some code blocks? Hmm...

I can see the advantage of having a runnable readme, and documentation with the code. I guess it's sorta like a Zeppelin notebook.

Huh .. at first I though this project was kinda ridiculous, but I do like the concept for including a maid file in a project and people can get started right away, with sections available for auto installing the packages and running the program on a local user account.

<comment><USER19> > So we're going to take something that's not really a standard to begin with > (Markdown is about as dependent on the renderer as HTML) and add some code > blocks? Hmm...

It uses a specific renderer. The renderer adheres to a spec that defines code blocks.

</comment></comment><comment><USER20> The name seems demeaning to women.

<comment><USER18> I honestly can't tell if you're serious. (@see Poe's Law)

<comment><USER21> I wouldn't have noticed if it hadn't been pointed out but it's definitely a term for a pretty outdated female-only position so I think the point isn't so extreme.

I can almost never detect this kind of stuff because it doesn't affect me directly and I'm sure the dev meant no ill-will, but once pointed out, I can see how projects named like this would get under people's skin.

"made, the MArkDown Executor"? :D It's pretty easy to be more inclusive.

<comment><USER22> The suffix "ake" is "standard" for these task runners... Cake (C#), Fake (F#) etc... So of course it should be called Make! ... ... wait ... ... shit ...

</comment></comment></comment></comment><comment><USER23> I wish the whole package.json could be replaced with something like this.

</comment><comment><USER24> Is this handmaid?

</comment><comment><USER25> org-mode + org-babel reinvented?</comment>


Ask HN: Good Reading for Young People about Science? - <AUTHOR>

Another thread here reminds me to ask about reading suggestions for my third son (age eleven, reading level at senior high school level) who is passionate about science. What books or magazines or websites (in English or in Chinese) are especially good for young people to read to help them better understand the process of science, learn more science facts, or build deeper ability in reasoning about scientific literature? What did you enjoy reading about science when a teenager? What sources have surprising and interesting information about science that more people should know? All suggestions much appreciated. <comment><USER2> Some of my earliest memories are of my grandfather reading to me from _Sky and Telescope_ magazine (not that I was understand very much of it). I'm told that this is actually how I was potty trained. Even if I didn't understand, there was a certain amount of romance, I suppose.

And from my grandfather more broadly, I got a both an interest and some background. He was involved in the Hubble Telescope, spy satellites, and the like. So I think that the example and influence of someone knowledgeable and enthusiastic is very important.

On my own, I read a lot of science fiction, which gave a mystique and romance, as well as some real information and knowledge, at least in the "harder" sub- genre. And I remember as a teenager subscribing to _Omni_ magazine, devouring both the factual articles and the fiction.

Unfortunately, I also remember teachers that fed us science as facts, rarely sparking wonder or amazement at how the world actually works. I think that institutionally, the educational system for science is broken.

</comment><comment><USER3> When I was a little younger than your son, my parents got me a book called The Third Millennium which was absolutely fascinating. It's basically a "history" written from the perspective of someone in the year 3000 looking back on how science and society changed in the years 2000-3000.

I posted about it earlier and will try to find that post, but I would highly recommend it. It touches on many facets of science and how they might evolve and coexist over the next 1000 years. I got a copy for my daughter and I hope she gets as much out of it when she's older as I did when I was younger.

<comment><USER4> One of my favorite books when I was a kid was a book called the World of Tomorrow which was quite a visual spectacle illustrating how technological developments would change our world. It would be good to get a hold of it and see how much of it played out, how much is outdated and how much could still happen.

</comment></comment><comment><USER5> I know you asked about books, but for me hands on was the best way. I learn best from doing. My favorite toys as a kid were the 1001 electronic projects kit and the chemistry kit. Those things still exist, have some reading but are really hands on.

<comment><USER4> +1 on the chemistry kit. Also the Evil Genius series of books are very much about hands on science and engineering projects.

</comment></comment><comment><USER6> Im actually in a bit of a similar situation. I have a niece who reads at a similar level. She reads mostly fantasy books so im not sure about science. Ill try to look some up and leave them here.

</comment><comment><USER7> climbing mt improbable by richard dawkins and then others, carl sagan, and richard feynman (start with 'surely you're joking mr feynman') - if those don't work go back to heinlein and asimov

<comment><USER4> Kim Stanley Robinson's Mars trilogy is well worth considering.</comment></comment>


Show HN: Forth Lisp Python Continuum - <AUTHOR> https://github.com/asrp/flpc/ <comment><AUTHOR> Here's some extra information about what running each piece gets you. Assuming flpc.c is already compiled,

./flpc with no arguments drops into the FlpcForth REPL. But absolutely nothing is defined in that case, of course. You can try to paste in some source from files in precompiled/*.

The sample sources in precompiled/ are all for parsing (some of) its own source and/or generating its own source. Pass one of them as argument to ./flpc and it will run and drop into the REPL at the end.

In the REPL, "ps" is probably the most useful command to get information about current state.

There's no FlpcPython REPL yet (it can parse FlpcPython but doesn't know what to do with the resulting AST). So right now, to write FlpcPython, I suggest writing to a file, say foo.flpc, and running

        python compiler.py lib/stage{0,1{a,c,d},3{a,b}}.flpc foo.flpc > foo.f
        ./flpc foo.f

This uses the external Python compiler which will eventually be removed.</comment>


Electric Scooters Are Causing Havoc. This Man Is Shrugging It Off - <AUTHOR> https://www.nytimes.com/2018/04/20/technology/electric-scooters-are-causing-havoc-this-man-is-shrugging-it-off.html <comment><USER2> From what I've heard the problem is greatly exaggerated - is that assumption incorrect?

<comment><USER3> Massively exaggerated. If you walk the streets of SF you'll find yourself stepping over much worse than these scooters. This is about local politicians being desperate not to get Uber-ed again.

</comment></comment><comment><USER4> My only issue with them is when they're left in the middle of the sidewalk, or even worse, right at the corner of an intersection.

<comment><USER5> There are Bird scooters where I work in LA. They seem really cool! I see people buzzing around on them all the time. I haven't seen any sidewalk blockages or anything, but I can see how at high traffic locations that might be a thing. Why doesn't the city out a scooter rack up? For the cost of a single parking space you could stash like 50 of the things.

<comment><USER4> > Why doesn't the city out a scooter rack up?

These things just appeared overnight a month ago. The city has no clue what they should do about them yet.

</comment></comment></comment><comment><USER6> Travises seem to really hate local transportation bylaws.

<comment><USER7> Ironic, huh? From Wikipedia...

Travis is mainly an English masculine given name of French origin. It is derived from the word "traverser" or "to cross", and was given to toll collectors who stood by a bridge or crossing.</comment></comment>