Obama administration to end contract with company behind HealthCare.gov - <AUTHOR> http://www.washingtonpost.com/politics/obama-administration-to-end-contract-with-cgi-federal-company-behind-healthcaregov/2014/01/10/001eb05a-719e-11e3-8b3f-b1666705ca3b_story.html <comment><USER2> What's sad is that it wasn't so long ago we were treated to breathless articles regarding the software that was used as part of the President's re- election campaign, which apparently was well-tested and well-engineered enough to actually do its job when the time came:

[http://www.theatlantic.com/technology/archive/2012/11/when-t...](http://www.theatlantic.com/technology/archive/2012/11/when- the-nerds-go-marching-in/265325/)

It seems today's politicians are (at least in some cases) familiar with what it takes to build reliable software. Perhaps the problem is that they are only willing to see that it's done when it benefits them directly, but not when their constituents need it.

<comment><USER3> The requirements for working with the USGov are restrictive enough that only specific companies are capable of participating in the bidding process. The Democratic party itself and Obama's re-election are, by contrast, private organizations that are not limited by these rules.

Basically, it seems like the government sourcing process has shrunk the pool of potential bidders too small to provide a properly competitive marketplace for software for USGov customers.

<comment><USER4> > Basically, it seems like the government sourcing process has shrunk the pool > of potential bidders too small to provide a properly competitive marketplace > for software for USGov customers.

And don't think for a second that this is unintentional.

<comment><USER5> The INTENT is to limit corruption. If they could give contracts to anybody they want, then they could reward donors.

I think it's actually achieved that goal. It comes at the expense of competence, however, as those with the best lawyers (not best developers) win contracts.

<comment><USER6> So we have a choice between corruption and incompetence ... I'm pretty sure that corruption would actually be better, at least shit would work.

<comment><USER7> We only have a choice of which we want to start with. Eventually we end up with both.

</comment></comment></comment></comment></comment></comment><comment><USER8> No shit. This whole ordeal has been nothing short of a complete and utter fucking disaster. And how much did the government pay to have this work done [1]? This is procurement at its finest. The government could have easily paid 10% of what they did to a tech start-up who would have done a much better job utilising scalable technologies.

[1] [http://www.washingtonpost.com/blogs/fact- checker/wp/2013/10/...](http://www.washingtonpost.com/blogs/fact- checker/wp/2013/10/24/how-much-did-healthcare-gov-cost/)

<comment><USER9> I rather think that depends on what technological expertise the the start-up brought to bear on the problem.

I understand it's chic to think that Healtcare.gov is "just another website", especially among a certain crowd who think that all development is web development, and best done on a MacbookPro using RoR/node/<functional language Y>/Go + <insert fad-of-the-day JS framework here>. It's a mistaken impression, though, because we aren't talking about some from-scratch system. We're talking about communication with and between a lot of legacy systems requiring what is almost certainly a frankenstein-like nightmare of patchwork APIs that dive into programming languages and styles hipster 20-somethings at hot S.F. Start Up X wouldn't understand because it's beneath them (I'm exaggerating and generalizing here for effect--this isn't to impugn all 20-somethings, start- ups, etc.).

Honestly I don't think there is any contractor who could have pulled this project off flawlessly, or even very much better than the group of misfits who did Healthcare.gov did, just because of the sheer complexity of the project compounded with the increased politically-motivated interference from government officials that comes with such high-profile projects.

<comment><USER10> > Honestly I don't think there is any contractor who could have pulled this > project off flawlessly

A few flaws could be excused but the site was a disaster.

> or even very much better than the group of misfits who did Healthcare.gov

In just a couple of months, the current contractor group was able to clean up most of the mess and improve the site dramatically. In just _two months_! Imagine what they could have pulled off if the group was put together earlier.

<comment><USER9> The were able to clean up and improve an existing system, yes. That doesn't imply anything about their abilities to have created it from the ground up.

<comment><USER10> To me, it implies they have even more ability than if I saw them build it from the ground up. They were able to read the garbage written by the other developers and make something useful out of it. Pretty impressive!

</comment></comment></comment></comment></comment><comment><USER11> Too many lies in this article to take more from this than the bare fact that CGI Federal will be replaced by Accenture (the latter of which is no prize from what I've heard).

I.e. the government's Centers for Medicare and Medicaid Services (CMS) were notoriously the "prime contractor" until the 3rd week of October (when replaced by contractor QSSI, also responsible for the "data hub"), and the attacks on the contractors are misplaced when their management was so impossibly bad.

The linked _Washington Post_ article is not great, but better: [http://www.washingtonpost.com/politics/obama- administration-...](http://www.washingtonpost.com/politics/obama- administration-to-end-contract-with-cgi-federal-company-behind- healthcaregov/2014/01/10/001eb05a-719e-11e3-8b3f-b1666705ca3b_story.html)

<comment><USER12> Accenture taking over is like replacing dumb & dumber with larry, moe and curly.

</comment></comment><comment><USER13> >>Accenture, which is one of the world's largest consulting firms, has extensive experience with computer systems on the state level, and it built California's new health insurance exchange.

Hasn't California's exchange had big problems too?

<comment><USER14> Accenture is Arthur Andersen, and they've got a long history of extracting maximum value for shareholders from government contracts (state and local).

EDIT:

Arthur Andersen spawned Andersen Consulting spawned Arthur Anderson Business Consulting spawned Accenture. Some of AABC splintered off and joined Hitachi Consulting, some went elsewhere.

The history of computer consulting is varied, interesting, and tragic.

</comment></comment><comment><USER15> Am I the only one who thinks that the failures were intentional - that the whole mix-up is a passive-aggressive way of herding the USA into eventual single-payer?

If Washington DC is, in fact, really that stupid and it is not intentional, under what strange notion of justice am I to pay taxes to these morons?

<comment><USER16> Depends on what you mean by intentional. I'm not sure if the guys that call the shots are Machiavellian enough for such things - given how incompetent they are in everything else, hard to imagine they would be super-competent in long-reaching plots. If they had been able to execute long-running plans of such magnitude with such certainty, they wouldn't screw up so many things so badly as they had.

However, the resulting vector of their efforts and failures may very well point into that direction, and not without their cooperation and help, since once they beat insurance industry into full dependency and make the population rely on subsidized care, the next logical step would be to eliminate the middlemen - there would be no point for them to exist anymore, at least not as independent entities - given that they would have no independence as such and serve no useful function in such setup.

</comment></comment><comment><USER17> One of the differences between creating and enforcing laws and creating software is that software _actually_ has to work. The efficacy of a law is open to endless debate, and it doesn't actually have to end up with any intended effect. But software, you can't legislate software.

It's obvious that government shouldn't be in the software business, and the government would agree "that's why we use contractors for this!". But when 100% of your revenue comes from the government, in a way you're basically the same thing.

</comment><comment><USER18> The government isn't exactly doing too well with any of its software projects. The IRS had problems during tax season and the FBI has cancelled and restarted multiple times. The Dept of Interior has been held in contempt of court for how bad their systems have been.

</comment><comment><USER19> Talk about going from the frying pan to the fire.

</comment><comment><USER20> I here the points about about legacy systems. How much would it have cost to scrap those old systems and build from the ground up.

</comment><comment><USER21> Is anyone surprised by this?

<comment><USER22> Slightly surprised, but only because I would have thought that the company had kept up their payments to the necessary campaign funds.</comment></comment>


The Background Data and Battery Usage of Facebook's iOS App - <AUTHOR> https://www.macstories.net/linked/the-background-data-and-battery-usage-of-facebooks-ios-app/ <comment><USER2> I checked and indeed there is a large amount of background usage.

I've set videos to not autoplay to see if that helps.</comment>


Ask HN: Review my hack: using all available memory (4GB+) on a 32-bit OS - <AUTHOR>

I feel that this discovery is too important not to have a discussion here. (I submitted my blog post yesterday during peak NH hours -  http://news.ycombinator.com/item?id=2412122 - but it fell through the cracks, so I'm reposting).
Summary:  You can take advantage of more than 4GB of physical RAM on a 32-bit OS (WinXP in my case) by putting your paging (swap) file on a RAMdisk.
I feel that this is important for the world to know because the move to 64-bit systems has been largely influenced by the memory limit imposed by 32-bits. <comment><AUTHOR> The full article: [http://nighthacking.blogspot.com/2011/04/how-to-use-more- tha...](http://nighthacking.blogspot.com/2011/04/how-to-use-more-than-4-gb-of- ram-with.html)

Any comments?

<comment><USER2> nice idea. i'm typing this on an x60 with 2GB. this would be even easier on linux, i guess. on the other hand, i added an ssd recently and the effect is similar (since the sawp file is on the ssd).

<comment><AUTHOR> Thanks. I also thought about installing an SSD. Many people seem to be afraid to use an SSD for memory swapping however, because they believe it will shorten the lifespan of the SSD (especially on Windows XP, due to its overly- aggressive swapping logic).

<comment><USER2> I checked that out before I bought. As far as I could tell, it's not really an issue with any half-decent SSD, since they automatically level _below_ the file system (so even though swap is a small part of your disk, it doesn't mean you're putting all that load on a small part of the memory) and also the numbers seem to work out like you'd still get many years of use.

Anyway, for me, I suspect it means I'll keep this laptop for an extra two years. It was starting to feel sluggish if I had, say, firefox and eclipse open. Now it's like new. Would really recommend it... (but it is true I am on Linux...)

</comment></comment></comment></comment><comment><USER3> Alternatively, you can use PAE.

<comment><AUTHOR> Yes, that might work on some operating systems, but not on Windows XP ([http://msdn.microsoft.com/en- us/windows/hardware/gg487503.as...](http://msdn.microsoft.com/en- us/windows/hardware/gg487503.aspx))</comment></comment>


Ask HN: Black bar? - <AUTHOR>

It's kinda weird. Is it a bug ? <comment><USER2> I think it's an online version of the black arm band that's often worn to acknowledge the passing of a great figure in a community.

<comment><USER3> Yes. It's just for today.

<comment><USER4> You should make it a tiny clickable link to Sergei's blog post. When I saw it up there, my first thought was to mouse at it and see what was up.

</comment></comment></comment><comment><USER5> It's for mourning Dr. Motwani's passing.

<comment><USER6> No offense, but I really wonder how many people have actually knew who Dr. Motwani was before two days ago.

<comment><USER7> I used the Hopcraft-Motwani-Ullman textbook on automata theory and it was awesome. That's how I knew him, and it's enough for me.

<comment><USER8> I did a course on randomized algorithms which referenced the book on the topic he wrote. The man was almost a genius, The book is as ground breaking as the knuth series.

</comment></comment></comment></comment><comment><USER9> My hunch is that it's like the black armband worn on professional sports teams when they suffer a loss of a loved one. (I'm sure this extends beyond sports, but that's the only place I've seen it)

</comment><comment><USER10> I assume it got added at the same time the HN footer was added to the bottom of comment pages....

<comment><USER11> Actually, I think the black bar got added earlier this morning and the footer was just added (last half-hour or so...?), so perhaps the black bar is for a different reason.

</comment></comment><comment><USER12> From a design point of view, I think it makes the page easier to read....</comment>


The Economics of Maps [pdf] - <AUTHOR> https://pubs.aeaweb.org/doi/pdfplus/10.1257/jep.34.1.196 <comment><USER2> That's kind of an interesting footnote:

> We are grateful to Enrico Moretti

If I'm not mistaken, that's the same Enrico Moretti who wrote _The New Geography of Jobs_ , which is a fascinating look at the economics of cities that are trying to attract jobs, as well as a paper on how zoning restrictions cost the US economy billions of dollars a year by keeping people out of productive places.

</comment><comment><USER3> Really interesting. I saw it mentions about distorting distances in the tube. I always wondered why is important to know the distance while being in a metro. I know where I'm supposed to go and as long as it's not my first time travelling I also know how much time it will take. In my opinion the distance (in km) between stops it's irrelevant. Time is of the essence

<comment><USER4> Metro maps are optimized for finding your way from one metro station to another. But what I really want is to go from one physical location to another, and that is made more difficult because those distorted metro maps don't map very well to the physical layout of the area. It's often difficult to see how the metro stations correspond to physical locations, and therefore not straightforward to find out the best total route (i.e. including walking from starting point to metro station, metro, walk from metro to destination, possibly other transportation options).

Edit: Tom Scott has a video (somewhat theatrically titled "Lies on the London Underground") that highlights some peculiarities of the London Underground, some of which are (partly) caused by the non-geographic nature of the maps: [https://www.youtube.com/watch?v=IrHRQSm6LIs](https://www.youtube.com/watch?v=IrHRQSm6LIs)

<comment><USER5> Subway maps are optimized for taking the subway. Which, yes, especially in a city core with multiple lines may mean they don't really tell you that a trip taking you through two transfers is only about a three block walk.

But, if what you really care about the physical locations, there are tons of other maps that you can use. Subway maps try to preserve some correspondence to the physical world but that's not their primary function.

</comment></comment></comment><comment><USER6> Please rename the link to "The Economics of Maps (PDF)"</comment>


NYT Is Threatening My Safety by Revealing My Real Name So I Am Deleting the Blog - <AUTHOR> https://slatestarcodex.com/ <comment><USER2> Dupe: [https://news.ycombinator.com/item?id=23610416](https://news.ycombinator.com/item?id=23610416)

Massive discussion there.</comment>


Python vs. Perl vs. C++ - Python is Better - <AUTHOR> http://www.strombergers.com/python/

<comment><USER2> I have one. Let's write a REPL in Python:

       result = eval string
       print result

Wow, so easy. Except it doesn't work when string contains "import foo". OK, that's fine, we can "exec" instead of "eval". Oh, but then we don't get the return value anymore.

(The Python solution to this is a flag to pass to exec to tell it to print the result to stdout. If you want to capture the object that's the result, well, too fucking bad. I did this in my Python REPL with an AST rewrite of the user's input. What the fuck!?)

In Perl, you can `eval $string' and the return value is the return value of the code you just ran. And any Perl works!

I've never written any Perl that looks like what this article uses. If I want to slurp a file, I say "my $file = read_file('path/to/file')". read_file comes from File::Slurp. If I want to do strict validation of the arguments to my function, I just use Params::Validate (or MooseX::Declare if my blood sugar is low). (Why do you care about number of arguments but not type of arguments? So you get an obscure error when you try to use "1" as a hash?) Perl has classes, Perl has exceptions. If you say it doesn't, like the author of this post, you don't know anything about Perl.

So my point is, it's easy for fanbois to hand-pick examples of why a language is bad, especially when they don't even know the language. It's all very simple in practice: to program well in a programming language, you have to learn the language. Try not doing that, and you will fail, even if that language is Python!

<comment><USER3> Python has Perl beat on the REPL loop out-of-the-box: <http://docs.python.org/library/code.html#>

      Python 2.7.1 (r271:86832, Mar 14 2011, 00:19:31) ...
      Type "help", "copyright", "credits" or "license" for more information.
      >>> import code
      >>> code.interact()
      Python 2.7.1 (r271:86832, Mar 14 2011, 00:19:31)
      [GCC 4.4.4] on linux2
      Type "help", "copyright", "credits" or "license" for more information.
      (InteractiveConsole)
      >>> import this
      The Zen of Python, by Tim Peters

      Beautiful is better than ugly.
      Explicit is better than implicit.
      ...

And there are a variety of ways to extend it with various input and output. Much easier and more flexible than anything Perl will offer without a CPAN module. Which is probably out there.

That said, while I agree with this guy's conclusion his arguments are mixed in quality, trending towards poor. I like Python better, but my professional coding is primarily Perl and has been for nearly a decade now. Many Perl code snippets I looked at had a fatal flaw in it that made Perl look worse than it actually is, or the putative improvement that Python has is a judgment call rather than a good reason. And the reasons I _actually_ like Python better are mostly not to be seen, except for the "classes" one.

(Reasons: The "double underscore" methods may have notoriously bad names, but they work better and more reliably over the last decade than Perl overloading has for me, you can't do more than badly fake Python iterators in Perl 5 last I knew, trivial and across-the-board ability to use arbitrary objects as dict keys, more sensible Unicode handling in Python 3. __str__ and __repr__; Dumper/say is no replacement. And for all the putative benefits of Perl's various syntaxes and sigils and for all that I've programmed in Perl about an order of magnitude more than I've programmed in Perl it's Python features I miss in Perl and _never_ vice-versa. Locally everything in Perl makes sense, yet somehow the global combination of all these locally-slightly-better things does not produce a better language, just a larger one. But Perl's still on the short list of languages I can stand to use.)

<comment><USER2> If you're not willing to use CPAN, there is no point in using Perl.

(Incidentally, have you ever read code.py? Very inflexible and largely useless except for the exact purpose it's implemented for, a terminal-based REPL with no history or tab completion.

I needed to write something like this:

<https://github.com/jrockway/stylish-perl>

for Python, and simply couldn't do it without a clever AST rewrite, which added the equivalent of __result__ = <whatever they typed in that can be an rvalue>. Then it was all easy, although it still doesn't quite work right (but I feel if I knew what I was doing and cared, it could be fixed).

As to why stylish-python is not on Github; I wrote it for "work Python" instead of real Python. Yes, we have a fork of Python 2.6 that uses an internally-developed Redis clone to store the source code instead of files. This was not my idea and I did not write any of the code :) (Writing your own database and your own IDE is a lot more fun than writing ETL code, I guess.)

Also, with respect to repr vs. Data::Dump::Streamer, I'll just paste the following REPL sessions:

        [~] 0 (jon@snowball2)
        $ python
        Python 2.6.6 (r266:84292, Dec 26 2010, 22:31:48)
        [GCC 4.4.5] on linux2
        Type "help", "copyright", "credits" or "license" for more information.
        >>> repr(lambda (x): return x)
        '<function <lambda> at 0x7f6103dda668>'
        >>>

        [~] 0 (jon@snowball2)
        $ re.pl

        $ sub { my $x = shift; return $x }
        $CODE1 = sub {
                   package Devel::REPL::Plugin::Packages::DefaultScratchpad;
                   use warnings;
                   use strict 'refs';
                   my $x = shift @_;
                   return $x;
                 };

Note how DDS can represent all of Perl's data structures, not just some of them. You now know that you have the identity function instead of a function at memory address 0x7f6103dda668. I guess Python programmers don't care because everything has a name.

Also, with re.pl, you can do this later on in your session:

        $ $CODE1->(42)
        42

That lambda you typed in in the python shell is gone forever, which IMHO defeats the purpose of having a REPL.

</comment></comment></comment><comment><USER4> The biggest problem with Python is performance. It doesn't do threads. The GIL is a real bummer.

Even when you use the threading module it's very common to load up the system monitor and see only 1 core out of 12 being used. :-/

Performance problems aside, it's a pleasant language and the stdlib is well- designed.

This comment from earlier this week pretty much sums it up:

"Why can't you make Python faster!?" Because Python does a lot of stuff without you asking.

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

</comment><comment><USER5> I can't tell if this is meant as an April Fool's joke.</comment>


From the trenches: real data science project from start to finish - <AUTHOR> http://www.datasciencecentral.com/profiles/blogs/sample-data-science-project-optimizing-all-business-levers-simult <comment><USER2> Not really sure why this is getting up-votes.

Maybe I'm missing something but this article feels fairly incoherent and the analysis looks like something I'd expect your average marketing or product manager to be able to do rather than anything more sophisticated.

<comment><AUTHOR> It would be nice if instead of simply saying "Well, this is rubbish" you could actually suggest alternatives that are of more value. Criticism is easy, producing excellent written work is rather more difficult.

So can you suggest better alternatives?

<comment><USER2> What are you looking for ?

</comment></comment></comment><comment><USER3> This article was written for data scientists, not for investors. Here I try to explain how a data scientist (entrepreneur) can make a 7-digit revenue working from home, with no funding other than re-investing some of the profits into her business, with no phone calls, no travels, no meetings, based on a real story from a guy (me) born abroad in poverty. If it was that easy, everybody would do it. So I'm not surprised many people don't understand: if you don't understand, you can't do it - plain and simple.

</comment><comment><USER4> I appreciate the value of civil discussion, but five minutes into scanning this piece I am unable to determine if there is any value. If someone has put the time into it, can you provide a useful summary? Or at least what does the multicolor plot represent?

<comment><USER5> They found that surface analysis indicates that google ads are not a good investment. But when they looked into what the users from google ads did after the initial page view, they actually signed up at a higher rate and thus the ads were worth the cost.

<comment><USER4> Awesome, thanks for that I'll give it another read.

</comment></comment></comment><comment><USER6> is there a reason the charts are so difficult to read? especially after 50 posts a day on data visualization here on HN?</comment>


Various Bleeding edge Javascript techniques from creators of jQuery/Prototype/Dojo/YUI - <AUTHOR> http://garry.posterous.com/bleeding-edge-javascript-techn

<comment><AUTHOR> A lot of these "bleeding edge" tools seem very exciting - the automated testing, profiling, etc.

But I'm torn on the abstractions - 280 North's cappuccino in particular - <USER2> I think on the whole they're going to flourish. They're obviously crucial towards building any sort of reasonably complex application in Javascript.

It's hard to find the analogy - I tend to think of the transition from Asm- to-c. A lot of hardcore machine language believers complained at the lack of controls and speed they had to endure when using C. But complex applications simply cannot be managed across developers with any hope of progress when done in assembly.

In the end it'll be a compromise certainly, with frameworks like Cappuccino slowly edging out the underlying javascript.</comment>


Prof. Deepak Malhotra - Before You Speak Your Mind - <AUTHOR> http://www.cnbc.com/id/25892047 <comment><USER2> _"... and yet, many people prepare for important discussions and negotiations as though the other side is going to be a passive listener to everything you have to say and then simply accept or reject your demands. As a result, most people walk into negotiations with a reasonable sense of what they want and a list of reasons or arguments for why the other side should agree. Then the conversation begins. And guess what? The other side starts asking some really tough questions or pointing out some flaws in your argument. And you're caught off guard. Really effective negotiators, as part of their preparation, take the time to imagine how things might go wrong. ..."_

Good point.

Successful negotiation with third parties requires an understanding of _"Theory of Mind"_ ~ <http://en.wikipedia.org/wiki/Theory_of_mind> Since hackers spend less time being popular this is one skill that probably needs polishing.</comment>


Are you ready to back up your brain? Scientists say it will happen within - <AUTHOR> http://www.gobitcan.com/blog/2014-09-29-are-you-ready-to-back-up-your-brain-scientists-say-it-will-happen-within-30-years

<comment><USER2> TL;DR: Go home, Kurzweil, you're drunk.

Ray Kurzweil has never been particularly good at predictions. In his book published in 1999, he said by 2019 a $4,000 computer (in 1999 dollars) will be able to do 20 million billion calculations per second. We're still 5 years out, but it sure looks like he's off by several orders of magnitude.

He also said that by 2019 that humans wouldn't even be _allowed_ to drive on highways — it would all be completely automated.

His predictions about nanotechnology, stem cells, and other medical technologies were even more wildly optimistic.

It's not just that he (badly) misjudges the rate of growth in CPU power, he also seems to think there can be exponential growth in all forms of scientific knowledge, even though it's perfectly obvious that the number of scientists isn't growing exponentially (if at all), the funding for research isn't growing exponentially (if at all), etc.

Maybe he expected preposterously fast and magically programmed AIs to achieve all these scientific & medical wonders? I don't know. I do know his predictions from 1999 seem pretty silly now (and I for one thought they were silly at the time), and I don't put much stock in his grand visions for the year 2044.

</comment><comment><USER3> > Scientists say it will happen within ...

1\. The submitter managed to leave a few key words off the title.

2\. When I read a sentence that begins, "Scientists say ...", I know I'm being misinformed. The article's author relies on the imagined authority of a scientist, but scientists reject authority.

A real scientist wouldn't say, "It will happen within 30 years," he would say, "Leave me alone so I can do some science."</comment>


Using Microscheme to write a keyboard controller, part 1 - <AUTHOR> http://atreus.technomancy.us/firmware <comment><USER2> Cool to see languages besides C running on small hardware.

I would guess that memory consumption, not speed, is the limiting factor vs. C. I skimmed through the source code and couldn't find a way to define heterogeneous packed data types (i.e. structs). That would be a serious turn- off for me. Cons cells are a lot of overhead. At least it has vectors.

<comment><AUTHOR> That's true; on the ATMega32u4 it's the 2.5kb of RAM that kills you. The 16MHz clock speed is plenty fast for most microcontroller applications. That's why Microscheme is just a subset of Scheme; there are no continuations or runtime eval in order to save memory.

It's true that there are no structs, but it wouldn't be much of a stretch to add them. There's a discussion of writing a macroexpander in another Scheme runtime like Guile which can compile macros to microscheme output. (This is a bit like how ClojureScript lacks runtime eval but allows you to write compile- time macros in Clojure.) Writing a define-struct macro that compiles to vector-ref at runtime would be pretty trivial once you have a macroexpander working.

      https://github.com/ryansuchocki/microscheme/issues/8

If you're interested in hacking on a small Scheme implementation, I'd encourage you to give it a go. The author is very responsive and friendly.

<comment><USER3> >That's true; on the ATMega32u4 it's the 2.5kb of RAM

I blame arduino, 70Mips >40KB ram STM32/dsPIC is same price, but teach sheep arduino and they will only know arduino.

<comment><AUTHOR> For the vast majority of hobbyist electronics, good documentation is way more important than specs.

<comment><USER4> And a low latency toolchain that is easy to setup.

</comment></comment></comment></comment></comment><comment><USER5> This is nice - after recently building an ergodox I've been curious to understand better the 'matrix scan' and how it's achieved, this should help significantly.

Aside - Kind of an impressive project to replace firmware on various keyboards, including the ability "run small compiled programs written in a C-like language" (compiled with haskell) with a "Built-in virtual machine interpreter for running up to six concurrent independent tasks" [https://github.com/chrisandreae/keyboard- firmware](https://github.com/chrisandreae/keyboard-firmware)

</comment><comment><USER6> I'm wondering if the USB protocol tax now allows you to run Scheme. I mean if you didn't need USB you could use something like the PIC16F54 (512 ROM, 25 bytes of RAM) for $0.39 each... but you will almost certainly write the code in assembly language. I tried to find the cheapest microcontroller with USB support: I found C8051T622-GM ($0.982), with its luxurious 16KB of ROM and 1.25K of RAM. Curious if Microscheme will run on this- nope, it only supports Atmega..

Atmega32u4 is like $3.43.. too much when you consider that you can buy a keyboard for $4.00.

<comment><USER7> Looks like PICBIT is finally open source: [https://github.com/stamourv/picobit](https://github.com/stamourv/picobit)

We use(d?) it at U of Montreal to drive small PIC18 robots. Except for the one time I had to debug its GC, it was a fine platform, even for HS students.

<comment><USER8> I doubt PICBIT (or Microscheme for that matter) could run on the PIC16 family, with it's 25 bytes of RAM. Wouldn't be much of stretch to port Microscheme to PIC18s though (with 512+ bytes of RAM), the code generator is pretty straight- forward: [https://github.com/ryansuchocki/microscheme/blob/master/src/...](https://github.com/ryansuchocki/microscheme/blob/master/src/codegen.c)

</comment></comment></comment><comment><USER9> I have an ergodox, and I love the look of this Atreus keyboard. I would love to see better firmware support for more advanced keyboard features like dual role keys and one shot modifiers, for ergodox and its descendants.

Right now the tmk firmware has the best support for these features, but I'm having to do a lot of monkeying around with it to get dual role keys to work in the home row without interfering with my normal typing.

For example, holding the 'f' or 'j' key acts as CTRL, but tapping works normally.

<comment><AUTHOR> (original author here)

The TMK firmware works on the Atreus keyboards too; I used it for a while before writing my own firmware. I plan on putting up some better docs soon on how to use it with the Atreus if you want some of these more advanced features.

From a learning perspective it's also nice to have a dramatically simpler firmware too. The initial version of the C atreus-firmware codebase was just over 100 lines.

<comment><USER9> Yeah, there is value in simplicity. I am trying to understand tmk to modify it and it is a challenge.

At some point I want to make something like the Atreus but with a bit more buttons. Basically the ergodox without the thumbs pads and most of the bottom row and without a split.

On the subject of keymaps, it seems like a finite state machine with transitions on down and release. I haven't seen any firmware try that yet. Perhaps its the debouncing logic which makes that too complicated.

Keep up the good work!

</comment></comment></comment><comment><USER2> Cool to see languages besides C running on small hardware.

I would guess that memory consumption, not speed, is the limiting factor vs. C in many applications. I skimmed through the source code and couldn't find a way to define heterogeneous packed data types (i.e. structs). That would be a serious turn-off for me. Cons cells take a lot of extra space. At least it has vectors.

</comment><comment><USER2> Cool to see languages besides C running on small hardware.

I would guess that memory consumption, not speed, is the limiting factor vs. C. I skimmed through the source code and couldn't find a way to define heterogeneous packed data types (i.e. structs). That would be a serious turn- off for me. Cons cells are a lot of overhead. At least it has vectors.

</comment><comment><USER2> Cool to see languages besides C running on small hardware.

I would guess that memory consumption, not speed, is the limiting factor vs. C. I skimmed through the source code and couldn't find a way to define heterogeneous packed data types (i.e. structs). That would be a serious turn- off for me. Cons cells are a lot of overhead. At least it has vectors.

</comment><comment><USER2> Cool to see languages besides C running on small hardware.

I would guess that memory consumption, not speed, is the limiting factor vs. C. I skimmed through the source code and couldn't find a way to define heterogeneous packed data types (i.e. structs). That would be a serious turn- off for me. Cons cells are a lot of overhead. At least it has vectors.</comment>


Ken Taylor, Legendary Canadian Diplomat, Dies at 81 - <AUTHOR> http://www.theatlantic.com/international/archive/2015/10/ken-taylor-iran-canada/410827/?single_page=true <comment><USER2> > The 2012 film Argo, directed by Ben Affleck, played up the U.S. spy agency's > role in the escape at the Canadians' expense, omitting Sheardown's role in > the caper and falsely implying that the Canadian government was willing to > leave the six Americans behind after closing the embassy.

THAT. Argo really was a horrible belittlement of a predominantly Canadian operation. Artistic license is one thing, but re-writing history simply to appeal to certain demographics (ie American film audiences) is cowardly. Any number of films do this, but it is always wrong.

[https://en.wikipedia.org/wiki/Canadian_Caper](https://en.wikipedia.org/wiki/Canadian_Caper)

<comment><USER2> Movies that have done the same to appeal to American audiances:

U-571 - "Ayer told BBC Radio 4's The Film Programme that he "did not feel good" about suggesting Americans, rather than the British, captured the naval Enigma cipher:"

[https://en.wikipedia.org/wiki/U-571_%28film%29#Controversies...](https://en.wikipedia.org/wiki/U-571_%28film%29#Controversies_regarding_content)

Master And Commander: The Far Side of the World - "...as the producers wished to avoid offending American audiences [...] the fictional opponent was changed from the USS Norfolk to the French privateer frigate Acheron" (Original book was only loosely historical, but my point remains.)

[https://en.wikipedia.org/wiki/Master_and_Commander:_The_Far_...](https://en.wikipedia.org/wiki/Master_and_Commander:_The_Far_Side_of_the_World#Allusion_to_real_events_and_people)

<comment><USER3> Speaking of history that tends to get buried, how many people know that the Canadians burned down the White House during the War of 1812?

<comment><USER4> I don't think that's correct. British Regulars redeployed from the Napoleonic Wars burned down the White House. But if you're referring to the fact that it it was largely in retaliation for the sack of York (now Tornoto) by the Americans, then you'd be correct.

That's not to diminish Canadian achievements in the war; they seriously mauled American attempts at invasion and held Detroit at once point. Canada was very much a British colony at this time, and was just beginning to form a sense of national identity (of which the was would play a large part.)

Glad all that mess is behind us. =)

<comment><USER3> > and held Detroit at once point

Too late to give it back? :)

</comment></comment></comment></comment></comment><comment><USER5> Sad loss, one of the good ones.</comment>


Ask HN: How Old Are You? - <AUTHOR> I'm nearly 50. Been online professionally since about '94.<p>Chose 'online' as my 'place of work' back then and never looked back. <comment><USER2> 28, at my third job since graduating in '14 but the first where it's a long- term career focused move (and with fair pay based on skills/experience). I don't live in a tech hub so the startups around here feel more predatory on younger employees than anything, but grateful for all the experience I gained in the last 5 years. Been coding since '04-05

</comment><comment><USER3> 56 and just organized my third startup! Bought my first computer by saving up from my paper route in 1979. I've been working (and playing) with tech my entire career! Love it!

</comment><comment><USER4> 51\. Been coding professionally since 1989; I learned it on my own in 1979. I still do it for fun first and money second.

</comment><comment><AUTHOR> I'm just curious how the averages change in life. And in communities. Particularly pseudo-anonymous ones like this.

</comment><comment><USER5> 28 in 3 days.

Been messing around with computers since 8 years old (breaking the Windows registry counts... right? it was Windows 95).

</comment><comment><USER6> 31

</comment><comment><USER7> 41

</comment><comment><USER8> 26

</comment><comment><USER9> 46</comment>


Show HN: Votre (Beta) – A diary to manage your friends and family - <AUTHOR> https://votre.me/ <comment><USER2> So, I've been building a knowledge base _(writing my own software for it as well)_ , and this brings up an interesting question for me.

How do you _(anyone)_ all feel Diaries help in personal knowledge?

Eg, I like the idea of keeping an informational log of each day - but I'm unsure what use can be obtained from it. Is there something inherent to a Diary that is better than, say, just adding some birthday information to "Becky"'s information in some type of personal knowledge base?

The best I can figure is that writing helps memory - but part of my knowledge base is being written with spaced repetition quizzing, so writing it into a knowledge base, vs a diary, _seems_ just as effective.

To be clear, I'm just seeking discussion in this scope - I appreciate all attempts to build tools for our daily brains. I'm very interested in this landscape! Thank you for your work :)

<comment><AUTHOR> Interesting question, thanks for seeking discussion

You're right, writing helps memory

The thing I tried to accomplish with Votre is a tool that allows you to keep your data in whichever form you want. If it were just about keeping birthdates, use some sort of database like your contacts.

You can also treat Votre like a personal knowledge base without thinking in terms of a diary.

I just wanted something that doesn't feel like a database, where I could just start writing to add information, instead of adding a field to some entry. The diary aspect also helps with building a habit in my opinion.

Building a habit of adding information is probably the most important part of having some external brain / knowledge base, as that is the only way to ensure you can trust your system.

</comment></comment><comment><AUTHOR> Hi there

I built a Personal Relationship Manager and would love some feedback.

You can reach me at email@example.com

Thanks

-

Here's a bit more text:

Votre is a people-oriented diary or journal. You can write an entry a day and mention people in your text. Votre then organizes your writing and lets you retrieve information about any person. It's like a CRM, but for keeping people, not numbers. Text is the only input and output. No social sharing.

</comment><comment><USER3> Hey - just to let you know that I took a look and liked the way you built it! Not really a product for me as I don't keep any diary but maybe others will find it useful! Well done & good luck!

</comment><comment><USER4> I think that such a tool could benefit my social life, but I am definitely too lazy to write a diary. Let's see whether I will use it.

The fact that your data will be gone after the beta won't make that happen for now …

<comment><AUTHOR> Thanks for signing up!

Keep in mind that you don't have to write every day and that you can write whatever you want. Don't like sentences? Don't write any …

I'll send you an email once Votre launches ;-)</comment></comment>


No, Diatoms Have Not Been Found in a Meteorite - <AUTHOR> http://www.slate.com/blogs/bad_astronomy/2013/01/15/life_in_a_meteorite_claims_by_n_c_wickramasinghe_of_diatoms_in_a_meteorite.html#.UT8TU9xCmRM.hackernews <comment><USER3> Likewise: New Bacteria in Lake Vostok Actually a Contamination... <https://news.ycombinator.com/item?id=5361405>

Seems like there's a rush to get news out without full investigations.

<comment><USER4> I agree there is a rush but most times is from the media, not only from the actual gatherers of information (not in this case apparently).

I remember when CERN published the experiment that they measured neutrinos(?) that seem to travel faster than the speed of light, the news was:

Neutrinos travel faster that the speed of light, the rules of physics as we know them are collapsing.

CERN did nothing wrong, they published what they findings, and later, when peer reviewed, it proved to be a measurement error, that's the way science is supposed to work.

Similar was when NASA(?) found a bacteria that sustained life without carbon, that proved to be wrong too.

The problem is that it doesn't pay to be conservative, and absolutist headlines sell much better than realistic ones. I think it's a shared blame.

I would also like to add, to be fair, that many of this topics are pretty complicated for the layman, and some information is lost when the news is simplified/oversimplified. Not everyone is familiarized with the scientific processes, nor they are supposed to be.

</comment></comment><comment><USER5> How would fossilization occur in space? I was under the impression that water carried down calcium compounds which replaced bone structure/other molecular structures. Would not the fossil have to be there as the rock becomes ejecta from some source?

<comment><USER6> One possibility would be that if the calcium already existed in the asteroid along with ice.

The ejecta could somehow retain some water along with the original organisms the sudden relocation to space would preserve the structure (if it hadn't been vaporized first). The water would turn to ice.

If this asteroid then came near the Sun, the ice would presumably melt by the ambient heat (and if deep inside, wouldn't immediately sublimate). The moisture will then aid in the fossilization.

That's purely speculation, of course.

<comment><USER5> I guess its _possible_...

[http://www.esa.int/Our_Activities/Space_Science/Universe_con...](http://www.esa.int/Our_Activities/Space_Science/Universe_contains_more_calcium_than_expected)

Says there is 1.5 times more calcium than we thought before.

</comment></comment></comment><comment><USER7> Obligatory: <http://xkcd.com/955/>

</comment><comment><USER8> I guess what confuses me with this stuff is that while we consider throwing out all claims of life on Mars due to a possible rover equipment exposure to non-sterile air, it's okay to assume that a meteorite laying around in the dirt is a safe source of extraterrestrial life.

<comment><USER9> The difference here, as I understand it, is that the measurements done on mars were done by looking for samples of specific carbon compounds. This is indeed vulnerable to contamination, since the compounds could be deposited on at any time.

In the case of diatoms, they were looking for fossilized structures embedded in the rock. These aren't subject to contamination (at least not trivially), because contamination would have to actually change the structure of the rock.

The results for both are wrong -- we didn't find life -- but in principle the methods of looking are subject to different kinds of errors.

In this case, the issue is that the author of the original paper has done two major things wrong:

        - He hasn't shown that the meteor is actually a meteor.
        - What he claims to be fossils embedded in the rock aren't fossils.

</comment></comment><comment><USER10> Okay, I'm no scientist but one part of the argument just kind of irks me:

[i]In other words, all the diatoms shown in the paper are from known species on Earth. That makes it somewhat less likely they are native to space. And by somewhat, I mean completely. Like, zero chance they are from space.[/i]

UNLESS, Panspermia is correct and all life on earth came from space, in which case it would be completely in the realm of possibility that life from space that landed on earth had already landed here before, in the distance past.

<comment><USER11> No. You exhibit a severe misunderstanding of evolution.

Imagine panspermia is true. Some kind of life exists in space. and some of it fell down to earth. Then life on earth would evolve down here, adapting to the particular circumstances of our planet, _and_ the species in space would evolve, separately, to adapt to living in space. The result is that both strands would inevitably become very different.

If you brought down life from space, compared it to actual life on earth, and found they turned out to be the same, then _necessarily_ it would mean that both strands, in completely different environments, evolved to become the same. This is not only improbable, but emphatically impossible.

<comment><USER12> You would have a point if they found living specimens in the meteorite. As it stands, they found organisms that have died a long time ago and that greatly resemble organisms that have died a long time ago. Dead things don't evolve, so placing their lives at the same chronological point is not a problem.

<comment><USER13> But according to the evolutionary biologist quoted in this article, neither the organisms in the photos nor the known species they look like have been dead a long time.

> _"1) they are, for the most part, in great shape. There certainly is not any > sign of this being fossilized material… There are no extinct taxa found, > only ones we would find living today…"_

<comment><USER12> Fair enough. I was basing my comment on the other article, which claimed the opposite.

</comment></comment></comment></comment></comment><comment><AUTHOR> If you're interested in the topic of ET life, I'd recommend Paul Davies book "The Eerie Silence: Renewing Our Search for Alien Intelligence".

</comment><comment><USER14> Pretty sure this is N. C. Wickramasinghe: <http://i.imgur.com/FpqQTu6.jpg>

<comment><USER15> You're joking, but it's distracting. The real guy is here: <http://en.wikipedia.org/wiki/Chandra_Wickramasinghe>

"On May 24, 2003 The Lancet published a letter from Wickramasinghe,[16] jointly signed by Milton Wainwright and Jayant Narlikar, in which they hypothesized that the virus that causes Severe Acute Respiratory Syndrome (SARS) could be extraterrestrial in origin and not originated from chickens. The Lancet subsequently published three responses to this letter, showing that the hypothesis was not evidence-based, and casting doubts on the quality of the experiments referenced by Wickramasinghe in his letter.[17][18][19]"

</comment></comment><comment><USER16> If fossilization occurred in the asteroid, wouldn't entering earth's atmosphere alter it sufficiently to be unrecognizable?

Also, who is to say that bacteria didn't "seep into" the asteroid? Scientists often use fossils to come to the conclusion that Antarctica wasn't that cold in the past: [http://www.livescience.com/5023-fossil-suggests- antarctica-w...](http://www.livescience.com/5023-fossil-suggests-antarctica- warmer.html)

<comment><USER17> Rocks insulate fairly well, so the interior would probably be unscathed after reentry. Fresh meteorites tend to be extremely _cold_ , because only the outer layers heated up in reentry, and the inside is still cold from being in space for a couple billion years.

</comment></comment><comment><USER18> Science -- The greatest religion of them all.

</comment><comment><USER19> This is full of ad hominem, rough guesses, non scientific hyperbole, ones persons opinion (the authors, or a person contacted) and colloquialisms and weasel words. Please don't assume I believe in panspermia. But this article is likely to be just as rubbish as the original paper. The emotional language the author uses makes me think that this gripe is personal. As in biased. The opposite bias he accuses the original author of. And he keeps, well, saying, why, well...

Some examples of the hyperbole:

"It's wrong. Really, really wrong. Way, way, way ridiculously oh-holy-wow-how- could-anyone-publish-this wrong."

"[deep breath]"

Cynically calling the journal "august"

"alarm bells exploded in my head"

"not without some merits." (not 'has some merits' but is just short of no merit at all. as in just 'some')

"fervent proponent"

"Like, really fervent" (did he actually, like, well, write 'like'?)

And so on it goes. And on, and on, and on. Like verbal diarrhoea. It really does come across like he has an axe to grind. This kind of writing really doesn't help his point. Do you think this article would pass peer review and be published in a journal?

I don't know why scientists just can't keep an open mind. Maybe life comes from outer space. Maybe it doesn't. Maybe diatoms are in meteorites. Maybe they aren't. No one really knows, do they?

<comment><USER20> I agree with most of your post. I prefer calmer writing, even when they're destroying stupid claims. I often find calmer writing to be more powerful. Someone yelling "HEY LOOK! THIS IS STUPID!!!" is less effective than just telling me that something is wrong, why it's wrong, and giving me links to real scientists who show it's wrong.

But I strongly disagree with your last paragraph.

> I don't know why scientists just can't keep an open mind.

This little sentence is _evil_ , and I don't say that lightly. Creationism is taught in school science lessons alongside evolution because "we need to teach both sides", we need to 'keep an open mind' - even though evolution is a very strong theory and creationism is bollocks. There are many other similar examples of truth being harmed in the name of 'open mindedness'.

But it's important to realise that scientists do keep an open mind. Any belief will change if the evidence is strong enough. For some things we have some math to predict something and some weak experimental research showing it - <USER2> those things you'd just need better math and better experimental evidence and a nice description of how it fits in with everything else.

> Maybe life comes from outer space. Maybe it doesn't. Maybe diatoms are in > meteorites. Maybe they aren't. No one really knows, do they?

You're right, no-one really knows. But that's an excellent reason to be very very cautious when making claims. Start small and build the case, don't just announce that extra-terrestrial life has been found.

<comment><USER19> I can see your point. I didn't really consider this because I come from a country where creationism isn't, and wouldn't ever be taught in a science class. I guess I am a little cynical because I work in a science research lab (as a technician) and a few of the scientists are close minded, beginning with their conclusion and tailoring things to fit. These ones are very political and most concerned with putting their names on other peoples work.

Though that being said, most of them are open minded and thoughtful people. One of them is just amazing and has become my hero as I've watched them continuously fight the good fight against a toxic system that is against them most of the way.

I agree with your last sentence. The original paper should not have made such grand claims. When I read the first 'viral' reporting I actually went 'meh' and kind of dismissed it. It was, after all, just one paper, and no doubt we'd see a lot more over time if it were true. After all, rocks are falling from space all the time. But then this response, and more so, peoples defence of this writing, that really got my goat up.

It really reminds me of Tim Harford's TED talk on God Complex. I see this complex all around me, while the people displaying it deny it.</comment></comment></comment>


Abolish the senate - don't just reform it - <AUTHOR> http://www.marketwatch.com/story/abolish-the-senate-dont-just-reform-it-2011-01-05

<comment><USER2> Abolishing the right to filibuster as the author proposes would truly make our democracy "two wolves and a sheep voting on what's for dinner".

Sorry Mr. Nutting, but there's no "tyranny of the minority"...

Tyranny: "A government in which a single ruler (a tyrant) has absolute power"

The minority can't enforce their wishes on anyone directly - they simply have the power, if they are a highly significant minority, to stop certain wishes of the majority being forced upon them ("tyranny" of the majority). Minorities having some power to block actions of the majority is a great check on government power, and we're fortunate to have it.

<comment><USER3> So the tyranny of 59 representatives is evil and undemocratic but the tyranny of 61 is just?

There are many legislative bodies in the world, maybe we could talk about process and policy in an informed way instead of whipping out the tyranny card every ten minutes.

</comment></comment><comment><USER4> I'm sorry, this is a bit dumb. The senate was not founded because "we cannot trust the people" but because in the senate EACH STATE has equal power, regardless of size, while in the congress each state has power proportinal to the population. This ensures that small states with 0.2% of the population are not entirely ignored in all politial matters because they might literally have the ability to break ties, no more. It might wind up being that ruling NY + NJ + FL + TX + CA would give you enough power to outvote every single other state.

The senate is critical and not to be abolished.

<comment><USER3> But why should each state have equal power? The reason that was important when the constitution was drafted was because they were the polities that already existed, and you needed their assistance to build a larger union.

Today, states command less loyalty than baseball teams, and are covered so poorly in the media that they are close to unsupervised by the people. They're an anachronism, why should we care about their individual power?</comment></comment>