Ask HN: What are your tech/programming 'bets'? - <AUTHOR>

What technologies are you currently interested in that you think will be useful in the future?
I'm currently at a total loss for what to pour my time into. I'm working in a low-end support role, having done development on the side for nearly 4 years now. Primarily for the web - I've done development and built toy projects with a lot of tools - far too much to list (PHP - Vanilla/Symfony2, JS - Node/Meteor, SQL and NoSQL db's, lots of API integrations, experience with lots of IDE's and tools, etc).
But I find myself (4 years down the line) with basically no finished/polished public projects to call my own and generally uncertain which direction I should head in. I don't feel confident applying for any jobs since I as I mentioned, I don't have any public work to share, so my CV looks pathetic. The solution is obvious (build some), but I find myself changing my mind about the tech stack half way through and trying something else a lot of the time. I feel like I need to start being a master of one trade rather than jack of none.
There was a funny post (either on HN or linked to from HN) a while ago, of somebody trying to choose a tech stack to use/focus on, and that describes me perfectly. I can't get anything done for the overwhelming choice...
Whilst a lot of web-work is just CRUD, the web is shifting towards an expectation of realtime data or app-like behaviour. So naturally things like Meteor, or a combination of a backend stack with Angular/Ember with Phonegap look promising... but then for anything other than simple apps, the UX is still not quite there, so I look at native app development.. so Android or iOS.. argh!
Help?! How can I 'get shit done' and get onto the correct path to an interesting job in development? <comment><USER2> It's not the new hotness, and not really sexy, but if you care about employability, it's hard not to recommend Java. Between enterprise backend web services, Android, and to a lesser extent desktop apps, there will be plenty of Java jobs over the next decade.

The nice thing about 'enterprise' companies is they tend to have a lot of money, and will be around for awhile, needing their code built/maintained. Same can't be said for most startups.

Python/Django or Ruby/Rails is another solid choice, but people don't realize how rare these tech stacks are outside of the SF Bay Area and NY. They got nothing on Java. I would say it's even easier to find .NET employment relative to the tech stacks commonly talked about on HN. For instance, in the midwest, companies will throw fistfuls of money at .NET devs as they are in high demand and low supply at the moment.

You are asking about an 'interesting job' though... at the end of the day only you can decide what you find interesting.

<comment><USER3> > Between enterprise backend web services.

For me at least I would not want this sort of job, and I doubt I would be considered qualified.

> Android

It's unclear to me if native apps won't be usurped by the webview route.

> and to a lesser extent desktop apps

This is almost clearly on the down trend.

</comment></comment><comment><USER3> Javascript.

Growing use among web apps, growing use on server side. Applications are running more and more on the client. Most popular way to build an API is with Node.js, API's are only growing. MVC frameworks are only growing. Use of JSON is growing.

The answer to this question seems fairly obvious to me.

</comment><comment><USER4> As a noobie I'm all-in with javascript and meteor. Why?

It's still the wild west and new people still on time to enter the land rush. And the best of all: any settler is welcome, no need to be a ninja to survive.

</comment><comment><USER5> My bet is that Android's current 85% dominance of mobile devices will last at least as long as Microsoft's dominance of PC operating systems. Google will never reach what was once Microsoft's almost total hegemony. But Android will reach into cars, appliances, instruments and other device outside of mobile handsets and tablets in ways Windows never did.</comment>


Is the new Jeet.gs the most flexible grid system ever? - <AUTHOR> http://blog.mojotech.com/jeet-a-grid-system-for-humans/

<comment><USER2> Specifying the width proportion with fractions looks pretty nice. But the paragraph explaining how jeet's better than bootstrap/foundation/etc. because it lets you use sass mixins (instead of inline classes) to separate content from presentation seems a little misleading - it's not like you can't do the same with foundation (jeet: @include column(1/3); foundation: @include grid- column(4);). (I don't use bootstrap, but presumably it has equivalent LESS mixins).

(True, it's not the most popular way to use foundation, but that's cos a lot of people don't care about semantic layout and/or don't want to use a preprocessor).

<comment><USER3> The difference between Jeet and Foundation's grid are two things.

1\. Jeet uses actual columns whereas with Foundation you need to nest elements within elements: [http://imgur.com/a/OWyOQ](http://imgur.com/a/OWyOQ)

2\. @include grid-column(4) isn't as "on-the-fly flexible" as Jeet since you have to define the base number of columns in Foundation whereas in Jeet you could just say @include column(4/12) or column (1/3) or column(33.333333/100), etc. - being able to say in natural language what you want your container to do is pretty powerful stuff.</comment></comment>


Chinese mom vs. American dad - <AUTHOR> http://ryanwaggoner.com/2011/01/chinese-mom-vs-american-dad/ <comment><USER2> > _"There are too many kids in America playing on sports teams that don't keep > score"_

If you hang around those games, you will find that many of the kids, parents, and coaches keep score even if the league doesn't. And if hang around similar games with older kids where they do keep score, you will see how parents and coaches regularly over-react to the outcome of those games.

As for trophies just for showing up, it's not restricted to youth sports, I give you the 2010 Texas Bowl featuring the #6 team in the Big 10 v. the #6 team in the Big 12. Texas should sue for defamation of character.</comment>


Why 99.95% of Entrepreneurs Should Stop Wasting Time Seeking Venture Capital - <AUTHOR> http://www.forbes.com/sites/petercohan/2013/07/15/twitter-backer-spark-helps-fund-harvard-grads-police-software-start-up/

<comment><USER2> Or alternately: the best way to raise is to develop your product/business. While "if you build it they will come" does not work well for (most) products, I have seen it sort of work for investors. If you have traction and something people want, it's not hard to get a meeting. Investors are also more interested if you don't absolutely need them. "I could bootstrap but I would like to accelerate" is a much more compelling pitch than "I have nothing, give me some money please." Put yourself in the investor's shoes-- who would _you_ rather invest in?

From what I've seen, the only people who raise money on ideas are people with a string of past successes, killer top-tier credentials, or connections not obvious to an outsider (e.g. rich family). I call people who can raise on vapor like this "juiced." For the rest of us, you must have something much more substantial or you won't get in the door.

One thing that's neat about raising with something already there is that it's actually very meritocratic. You can be an unemployed bum who hasn't showered in a week, but if your "traction" graph goes nicely upward and to the right when plotted on a log scale, you can probably get a term sheet from someone. Growth trumps credentials any day.</comment>


Using Git hooks to version-control Excel VBA Code - <AUTHOR> https://www.xltrail.com/blog/auto-export-vba-commit-hook <comment><USER2> This is somewhat similar to things that I've done to source control Word DOCX files and similar archives with a tool I wrote called musdex [1].

It's built to be a much more generic approach to handling the top level webhook operations, so you could even potentially write an oletools-based plugin (Handler) for it and share the musdex infrastructure. (Built-in Handler is for ZIP files, which works for the more recent Office/OpenOffice formats. I wrote a custom Handler for Inform 7 files, and I started but never finished a Handler for deconstructing/reconstructing SQLite DBs for version control.)

[1] [https://github.com/WorldMaker/musdex](https://github.com/WorldMaker/musdex)

</comment><comment><USER3> Awesome to see someone using GitLab in the wild! Is it the free version or self hosted?

<comment><AUTHOR> It's the hosted version (free plan). But we also have customers who use the (free) self hosted version and we and them love it. Do you use GitLab yourself?

</comment></comment><comment><USER4> Not relevant to article content, but: please don't use Javascript to hijack my scrolling like this page does.

<comment><USER5> This page works fine with Javascript turned off. Highly recommend turning it off in your browser by default and then turning it back on only for pages that need it - my web experience became much better without JS.</comment></comment>


Bell's Theorem: No EPR "Reality" - <AUTHOR> http://lesswrong.com/lw/q1/bells_theorem_no_epr_reality/ <comment><USER2> Sometime ago I came up with a very simple reformulation of this.

Imagine that your friend Alice has a set of three fair coins, numbered from 1 to 3. If you ask her to flip one of the coins, the other two will disappear. Also imagine that your other friend Bob, who lives far away from Alice, has an identical set of coins that are somehow "mysteriously connected" to Alice's. The whole setup can be repeated as many times as you want. You do a few experiments and find out this:

1) If you ask both Alice and Bob to flip the same numbered coin, their answers always agree.

2) If you ask Alice to flip coin 1 and Bob to flip coin 2, their answers differ 5% of the time.

3) If you ask Alice to flip coin 2 and Bob to flip coin 3, their answers differ 5% of the time.

4) If you ask Alice to flip coin 1 and Bob to flip coin 3, their answers differ 20% of the time.

Why is that weird? Well, if coin 1 differs from coin 3, then at least one of them would've differed from coin 2, so the 20% case must be completely covered by two 5% cases, which seems impossible. But you can't use it for faster-than- light communication between Alice and Bob, because all coins are individually fair no matter what.

This setup actually happens in our world, it can be easily reproduced in a lab to 1 digit of precision. This kind of quantum "spooky action at a distance" sits strictly between what's possible in a classical universe and what would be possible with FTL communication. More precisely, it allows two distant players to jointly win some games that wouldn't be winnable in a classical universe (even with arbitrary communication beforehand), but not all games that would've been winnable with FTL.

<comment><USER3> So experiment one could be explained by a hidden variable right?

I'm guessing somehow the other experiments rule out a hidden variable but I'm not seeing why.

<comment><USER4> I don't think that explanation is clear.

It takes a bit more work to get something which proves the experimental difference. One of the better explanations I've seen is regarding measuring spin with three state detectors: [https://www.youtube.com/watch?v=ZuvK- od647c](https://www.youtube.com/watch?v=ZuvK-od647c)

This would give specific probabilities to certain outcomes (not just 50/50) IF there were a local hidden variable. (Note: the word local is important there. It means information encoded and carried by or with the particles themselves.)

</comment></comment></comment><comment><USER5> EPR doesn't rule out a non-local hidden variables theory, e.g. pilot wave theory. Ontologically, non-local hidden variables is the only workable solution, since otherwise the universe would need uncountably infinite computing power to advance each instant. With non-local hidden variables, our universe can be advanced with finite (though mind-blowingly large) computing resources (whether an actual computer or just a system that naturally computes).

</comment><comment><USER6> 2008</comment>


Hyderabad techie uploads satellite image of missing plane on CNN site - <AUTHOR> http://www.thehindu.com/news/cities/Hyderabad/hyderabad-techie-uploads-satellite-image-of-missing-plane-on-cnn-site/article5801884.ece?homepage=true

<comment><USER2> Wasn't the plane flying in the middle of the night? Is this a false-light image, or would it have been light by the time the plane reached this location? I'm skeptical.

</comment><comment><USER3> The image is from a 2012 base layer, it's not new news or a new image.

[http://www.3news.co.nz/Scientist-debunks-missing-plane- satel...](http://www.3news.co.nz/Scientist-debunks-missing-plane-satellite- image/tabid/417/articleID/336511/Default.aspx)</comment>


The Siren Call of KVO and Cocoa Bindings - <AUTHOR> http://blog.metaobject.com/2014/03/the-siren-call-of-kvo-and-cocoa-bindings.html <comment><USER2> You missed VPRI KScript implemented in squeak smalltalk.

Massive performance issues and unresolved Glitch issues.

KScript and KSWorld: A Time-Aware and Mostly Declarative Language and Interactive GUI Framework [http://www.vpri.org/pdf/tr2013002_KSonward.pdf](http://www.vpri.org/pdf/tr2013002_KSonward.pdf)

Toward the Future of Personal Computing System Construction [http://www.vpri.org/pdf/M2013004_agere.pdf](http://www.vpri.org/pdf/M2013004_agere.pdf)

And the works of Sean McDermid Roly Perera and dm barbour (AWELON Blue)

<comment><AUTHOR> There are _tons_ of systems I did not mention, the field is quite large. Just start with the references I gave and continue down the rabbit hole :-)

I am quite aware of KScript and KSWorld, in fact one of the authors shares an office with me, though we are both not in that often. These are highly experimental systems, so they didn't quite fit into my narrative.

</comment></comment><comment><USER3> while i will go off and read a few of the linked papers, this post doesn't do a great job, in my opinion, of showing a meaningful relationship between generalized constraint solvers and one-way dataflow constraints. i use one-way dataflow constraints because they are simple/natural/expressive. generalized constraint solvers are vastly more general, and i can't see how they would apply in a non-geometric setting. isn't cassowary only really interesting when there are inequalities? when there are only equalities, isn't the system either over-constrained (bad) or not (fine)? (to be fair, i haven't read the cassowary paper.) would i ever want code that expresses an object in terms of an inequality with another object? will i ever care about cyclic graphs of constraints between objects that actually require a solver to determine if they are over-constrained, and will any solver be able to do the right thing without knowing some properties of the constraints (e.g. linearity)? (cycles are the one thing i'm careful to avoid when i write one-way dataflow constraints in e.g. MVC code.)

<comment><AUTHOR> If you are already using one-way dataflow constraints, you weren't exactly the target audience for my writeup, which was trying to introduce this body of work to devs who may only be familiar with the pale imitations. I am a bit surprised that you are careful to avoid cycles, even the one-way solvers I mention handle those.

I also think that the one-way solvers are the most immediately useful. On the other hand, the linguistic support needed for a pluggable one-way solver seems very similar to that needed for other solvers, and yes, they can be quite useful in more general circumstances. After all there is a whole field and several companies that do this sort of thing commercially.

<comment><USER3> fair enough that maybe i'm not in the target audience. and perhaps i'm too stuck in my own head, writing iOS apps, where i can't imagine general constraint solvers being used to solve a software-design problem (as opposed to an algorithmic problem, where it certainly does make sense). i am genuinely curious - are general constraint solvers useful as a software-design pattern?

are one-way dataflow constraints really any different from the observer pattern? i avoid cycles exactly because i implement it myself, and don't even have a solver, per se. even KVO seems not to handle cycles. and when e.g. i am using auto-layout in IB, even then i am careful to avoid over-constrainedness, even though the solver can settle on a "solution."

</comment></comment></comment><comment> Thomas-Paris The Garnet and KR work you cited from CMU is what got me into constraints/declarative OO/FRP. The term I best like for this style is "Dataflow". Cells, which is/was a dataflow extension for CLOS (object oriented Lisp) used this term, and uses both lazy and eager dataflow.

It was a huge amount of fun to work in, because it made GUI and server programming amazingly productive for a small team. You could get things working super fast, and with very little bugs because so much of the bookkeeping was done for you.

And one of the secrets compared to other systems in this vein was exactly the eager default, with a lazy option. By choosing per-formula which model you wanted, you could use the system that handled the most bookkeeping for you.

The Lisp code is still here:

[http://common-lisp.net/project/cells/](http://common-lisp.net/project/cells/)

The old examples and so on are in the Internet Archive:

[http://web.archive.org/web/20081026054504/http://www.tilton-...](http://web.archive.org/web/20081026054504/http://www.tilton- technology.com/cells_top.html)

</comment><comment><USER4> No mention of SQL? Relational algebra is a very prominent example of one-way constrain system, if you look at individual nodes in the query execution tree. Also, remember to consider index maintenance and materialized/indexed views.

I like that article is well-researched with references to various papers, there is definetly some good reading material there.

</comment><comment><USER4> KVO is akin to manual memory management - a lot of individual pieces to tweak and remember, and the outcome is very brittle and error-prone.

I prefe the approach where dependant values are expressed as functions, and then a caching layer is added where needs for performance.

<comment><USER5> How is it "brittle" and "error-prone"? You create your model object and KVO observe its properties from the controller. How much simpler and more decoupled could you get? If you're using MVC correctly, it seems to me that the pieces just naturally fall into place. You also get the benefit of being able to change your model from elsewhere in your program, or even swap it out completely, and have it automatically reflect in your view.

(On the other hand, if your app is not model-based, I can see how it could get unwieldily.)

<comment><USER6> The promise of simplicity does not match the reality. It's explained well here, this was linked in the article too: [http://khanlou.com/2013/12/kvo- considered-harmful/](http://khanlou.com/2013/12/kvo-considered-harmful/)

</comment></comment></comment><comment><USER7> KVO and Cocoa Bindings are not the same thing. Just because Bindings use KVO does not mean both technologies are alike. KVC/KVO has many uses outside Cocoa Bindings or UI updates. Further, obviously KVC/KVO has a performance penalty and that is exactly why you would not use it for high performance tasks. However for just about everything else it is a great tool and will minimize the amount of code you write greatly, resulting in improved maintainability.

<comment><AUTHOR> "KVO and Cocoa Bindings are not the same thing"

Yes. From the Fine Article:

"[..] bindings are one-way dataflow constraints, specifically with the equation limited to y = x1. More complex equations can be obtained by using NSValueTransformers. KVO is more of an implicit invocation mechanism that is used primarily to build ad-hoc dataflow constraints."

Bindings: simple one way dataflow constraints.

KVO: implicit invocation.

Not the same thing.

</comment></comment><comment><USER8> Ive begun learning Reactive Cocoa and I feel that it does most of what you mentioned your post except that the syntax quite unwieldy. Maybe some higher language that compiles down to it just might do the trick.

<comment><USER9> I am probably going to be downvoted by have you had a chance to look at [https://github.com/seivan/SHRACComparison](https://github.com/seivan/SHRACComparison) and maybe [https://github.com/facebook/KVOController](https://github.com/facebook/KVOController) \- you really don't need RAC to use signals.

</comment></comment><comment><USER10> See also [http://jeffsutherland.org/oopsla98/nakamura.html](http://jeffsutherland.org/oopsla98/nakamura.html)</comment>


From Show HN to Funding In Less Than 3 Months - <AUTHOR> http://blog.geteasypost.com/post/44639806088/showhntofunding

<comment><USER2> Looks very similar to <https://www.postmaster.io/>

<comment><AUTHOR> <http://news.ycombinator.com/item?id=4598818>

</comment></comment><comment><USER3> And then from HN Funding to Internal 500 Server Error in less than 42 minutes :p <http://i.imgur.com/LxtdhqA.png>

<comment><AUTHOR> hahah, oops, we'll work on that. Thanks

</comment></comment><comment><USER4> One thing I'm always curious about is how you gauge success after a post on HN.

While I understand there are variables for every business, I literally have nothing to use as a gauge other than my own experiences.

So if you don't mind my asking, how many emails did you guys receive from being posted on HN?

</comment><comment><USER5> This looks interesting but from this website I can't really distill what this service does, as in, what problem does it solve for me? Something with post and parcels etc. but it might be good to add a problem/solution section to your home page.

<comment><AUTHOR> We make it easier to get postage via API. Existing postage APIs are difficult to integrate and have lots of errors. We take care of that and provide a RESTful JSON API with client libraries.

</comment></comment><comment><USER6> Congrats! How long did you spend build EasyPost before doing the initial Sep. 18th launch?

EDIT: On a feedback note, 5% or less is very vague on the pricing page... Why not explain a bit further the upper and lower limits?

<comment><AUTHOR> Thanks, spent several months working on it.

We're launching a pricing page shortly!

</comment></comment><comment><USER7> I don't know why, but for some reason middle-clicking on a link does nothing on your page (instead of opening the URL on a new tab). I'm using Firefox.

<comment><USER8> is this happening on all links or a few specific links? I am looking for the cause and I can't see any reason why this wouldn't work.

<comment><USER9> Firefox / Windows 8.

It only appears to impact the blog post. If I go to your home page, middle clicking works as expected.

Also, I'm getting a character encoding glitch that's rendering gibberish next to your login button.

One last thing: it also looks like Tumblr is adding stuff to the top of your HTML. On the blog, I see two doctype declarations; one's on the first line, and one's at the very end of the second line.

</comment></comment></comment><comment><USER10> This is an interesting concept. I wonder what other physical processes could do with an API?

<comment><USER11> Potentially, you could buy a digital printer and create an API for physical mail. It could effectively change the direct marketing industry.

<comment><USER12> Do you mean a fax machine?

<comment><USER13> I think he means where you send HTML (or a PDF) to a web service that does a mail merge, prints & bulk mails it for you. I had exactly the same thought as a logical next step when I saw this.

Think of a print on demand web service for sending physical mail. You might even be able to do things like print it near the destination to take advantage of lower shipping rates.

</comment></comment></comment></comment><comment><USER14> What happened to your original domain of easypost.co?

<comment><AUTHOR> We pushed everything over to geteasypost.com. Why? You liked the old one better?

<comment><USER14> No, either one is fine, but it seemed DOA when I clicked on the title of the Ask HN post.

<comment><AUTHOR> Yeah, it was down for a bit due to a DNS issue (provide, not ours). Thanks

</comment></comment></comment></comment><comment><USER15> Congrats, and thanks for the post and example of what a well-described product can achieve. What's interesting to me is that OP had no actual alpha/beta product, just: "a simple bootstrap site with an email form and code samples (which I mimicked based on Stripe's)." The Show HN simply brought feedback and signups and a week later an investor made contact.

In the three months between the investor contact and actual funding, how much of your planned feature set had you implemented?

<comment><AUTHOR> Thanks! We had most of what we planned to have done by that time. We fully launched a month later.</comment></comment>


Dear Google: this is wrong - <AUTHOR> http://juanreyero.com/blog/2011/12/02/dear-google-this-is-wrong/

<comment><USER2> The older I get, the more I realise people just enjoy complaining.

People complained when they added the black bar, they complained when they removed it, they complain now when Google point you in the direction of the new feature, and I'm sure people would've complained if they _hadn't_ have mentioned it changing.

</comment><comment><USER3> The "new" gmail theme had that stupid thing at the bottom asking for feedback. What was stupid about it is that it would keep coming back after you closed it, when any sane person would have known the user didn't want to see it again.

</comment><comment><USER4> Hung around for a few hours for me. Highly frustrating. All they needed do is add a dismiss option.

</comment><comment><USER5> what bothers me more is this gradual roll out. i want to use the new ui now - why can't i?

</comment><comment><USER6> i refreshed the page and it was gone, never saw it on any other google service.

</comment><comment><USER7> No it isn't. It's not wrong to notify users of changes, and the notice resides on the same area occupied by the previous navigation tool so as far as those coming from the older design are concerned no extra screen space was used.

The notice disappears after you navigate away then come back or even reload the page so it's obviously _not a permanent_ thing.

<comment><AUTHOR> It has actually gone away after reloading, thanks for the hint. But it had survived several computer reboots.

</comment></comment><comment><USER8> You think Google hires morons for ux / ui development?</comment>


Ask HN: Should developers be writing technical documentation? - <AUTHOR>

Not to be confused with the question: "Should developers document their code?". I have no problem with developers working on internal documentation. Should developers be writing external documentation for their code that customers will be using? This includes installation, terminology, how and when to use APIs, etc.
The company I work for has developers writing customer facing technical documentation and this has always felt off to me. Proper documentation takes a different level of skill, and I don't feel that writing the code automatically makes me qualified to correctly express how the code should be used. This often results on poor customer facing documentation.
I personally feel that technical documentation takes a different level of skill and developers should be focused on developing. Am I just griping too much? Do other companies do this? <comment><USER2> In my experience, the main disadvantage to developers writing documentation is the potential for poor writing. The main disadvantage to a dedicated technical writer authoring documentation is inadequate understanding of the software, including what it does and why.

Some developers enjoy writing, and would do well at writing documentation for their own software. I suspect at least most developers could be good writers if they practiced at it, but if writing is a task they are being forced to do against their will and desires, that will likely reflect in the writing.

If nobody on the project enjoys writing and does it well, then it may be worth bringing in (at least part-time, or on a per-project basis) a dedicated technical writer. But at least one of the developers should be prepared to explain things to and answer questions of the technical writer.

</comment><comment><USER3> We have two stages. Devs write rough draft of tech doc, include examples.

A writer takes that and makes it ready for public consumption.

They will work as a pair to create final draft and organise that to our doc pages

<comment><AUTHOR> Thats more or less how it works here. Our writer check for grammatical errors and the like, but the majority is written by the developers. I guess its more common than I thought. Thanks for your feedback.</comment></comment>


Sony is bringing out a car - <AUTHOR> https://techcrunch.com/2020/01/06/sony-just-announced-a-car/ <comment><USER2> They're not bringing out a car, it's a concept car.</comment>


Ask HN: Update My Dad - <AUTHOR> So my dad got a computer engineering degree back in the punch card days and ran his own business as a "computer consultant" since the early 90s up until he went to prison for 14 years starting in 2007 and gets out next March (his crime was not computer-related). He mainly used MS Access to develop on-prem apps for small businesses. What [printed] materials can I send to him to update him to modern times before he gets out?  I'm sure he can catch up after release, but he's obviously got a lot more time on his hands now, but no computing access.<p>Also, any ex-con-in-tech related advice is welcome. <comment><USER2> Access is still around, still hanging on by one finger in some orgs (search your favorite news aggregator for whimsical stories). So there may be an opportunity for somebody with decent knowledge of the Access pitfalls to offer a service getting clients into modern times.

Is he allowed books (defining your scope of 'printed')? They'd be so much better than printing a web site.

Becoming a Google Apps consultant might be a good route and get him going quickly. Knowing how to take a company's workflow into Docs, Sheets, etc., is as much methodology as it is tech and code. If he's got good people skills, can see flow at a higher level, this requires very little to get started. The docs are pretty decent but I don't know how many pages this will take to print [https://developers.google.com/apps- script/overview](https://developers.google.com/apps-script/overview)

For something more technical, perhaps take a look at the django project's docs. [https://www.djangoproject.com/start/](https://www.djangoproject.com/start/)

It's going to take some work to get things set up and there's a lot of stuff that's going to be scary new.

But with minimal tweaking it offers a really decent admin interface that's relatively easy to customize and apply input rules, just like an Access database.

Python is relatively easy for BASIC programmers to pick up and loops, decision logic, that kind of thing is directly translatable with very little learning.

I got started professionally with dBase back in the dark ages, jumping from amateur BASIC on a Commodore PET. If he's inquisitive, hungry, determined, and willing to put in the hours there's a journey to getting current again.

Good luck to your dad and I hope you get some useful advice from this thread.

<comment><AUTHOR> I like the "Rescue us from Access" angle. That has good promise. He's never written a line of JavaScript in his life, so I doubt he'll want to do App Scripts, but that's another good one. Thanks.

</comment></comment><comment><USER3> A COBOL textbook.

<comment><AUTHOR> He probably knew COBOL at one point. He used to write in FoxPro for the longest time. He had an old CompuServe email before we got Juno. My first email was tagged on with his Juno account in the late 90s.</comment></comment>


Mitt Romney: 120.000 new Twitter followers in 2 days. All robots? - <AUTHOR> http://engagor.com/mitt-romneys-120-000-new-twitter-followers-all-robots/

<comment><USER2> This makes no sense, possibly the intentional faking to make him look bad does, but it still seems silly. No way a new poli account is going to come close to Obamas, the timing makes it near impossible. One is old and was benefited by the first round of suggested users, the other is near crippled by the now impossible. Not that I like politics but this is so odd to me for some reason it just strikes me as silly no matter how or why it is happening.

<comment><USER3> All the accounts I checked (ok two) look like they're part of a spam ring.

<comment><USER2> Sounds like the new normal for twitter. I keep seeing 'get more real followers' ads all over these days. They promise 1000s of them all 'real' but I would be willing to bet, they are all bots.</comment></comment></comment>


How directions on the Waze app led to death in Brazil's favelas - <AUTHOR> https://www.washingtonpost.com/news/worldviews/wp/2015/10/05/how-directions-on-the-waze-app-led-to-death-in-brazils-favelas/ <comment><USER2> "How Brazil's poverty, inequality, and intense segregation led to death in Brazil's favelas."

</comment><comment><USER3> Let's not blame Waze for this. The blame lies squarely on the shoulders of the maniacs who shoot at people just for driving down the street.</comment>


How to Raise Money as a First Time Founder - <AUTHOR> http://wadefoster.net/post/58039721398/how-to-raise-money-as-a-first-time-founder <comment><USER2> I have the impression that the importance of traction heavily outweights all others. So much that it is not even worth reading about these small victories like introductions and other tactics if you don't have traction yet.

The only substitute for traction is past traction (on previous startups) or a very big credential (as being on YC or being early employee on a big hit - Facebook, Google, etc). And this narrows the audience to only a few individuals for whom these tactics might apply.

Not by chance Paul Graham recent essays are aimed at this YC batch aproaching Demo Day. And, as interesting as is to us, regular folks, reading this; it sounds like reading advices from a pro driver on how to drive a Ferrari. They may be somehow useful, specific tips that you must know if you want to drive a Ferrari. But you first must own a Ferrari. Before you do it, they are just fiction.

And if you do have traction, I guess all these tips will have just a marginal influence on the outcome. Posts from VCs and succesfull fundraisers always seems like hindsight rationalization about why it worked. Forgetting that traction was the single most important reason by far.

I mean, traction is 99,9% if you are a regular founder, not a star. So wondering about the 0,1% is more of a Maseratti problem.

<comment><USER3> I think you're right, but I don't think the breakdown is as drastic as 99%. Traction is most important by a wide margin, because it proves that you're doing something right. This is a capitalist society where the market dictates what succeeds, and if the market dictates you're succeeding, then you're a hot commodity.

As far as YC goes, most HAVE traction by Demo Day, significantly so. It's not like these companies have an early beta with 20 users and are raising on a name. Most of the time they achieve early traction from a combination of YCs guidance and the fact that if you get into YC, you're typically a pretty good entrepreneur and have a higher likelihood to succeed.

<comment><USER4> Not to mention traction is a very subjective thing, especially for b2b companies.

And even after you get traction, the _type_ of traction begins to matter. For example, you can go sign up 100 paid customers for your product in a week by contacting your Dad's rolodex. You may have see that as traction; most VCs are going to have major questions about how you'll get your next 1,000 customers and why you haven't proven any of those channels yet.

</comment></comment></comment><comment><USER5> While we are getting more and more advice about "how to raise money?", the startup community really needs to raise the prominence of another question: "should I raise money?". If properly addressed, I think the latter would be a good filter for companies that aren't impressive or committed enough.

The worst outcome isn't failing to raise money; it's raising money and wishing you hadn't (wrong team, wrong idea/market, etc).

<comment><USER6> _it 's raising money and wishing you hadn't (wrong team, wrong idea/market, etc)._

Great point, though from personal experience I think 1st time founders will never get this until things go wrong after you raise. Raising money is attractive, not just for the money, but for the validation it brings. One of the hardest parts of doing a startup is talking with non-founders about what you do .. it's so easy to say "I work at Google" or "I'm in med school". The closest equivalent, for founders, is being able to say "our investors .. ".

I remember PG mentioned this .. that one reason Y-Combinator was so successful is it gives high-acheivers "a program" to talk about, almost a vetted excuse for why founders who could be otherwise working at Google or Goldman, or studying at Stanford are instead living in a cramped apartment and subsisting on ramen.

But I think it's ok to get seduced by money and prestige for the 1st time. You learn, you move on and up and get better at this stuff. Mainly you learn that the most important skill of being a founder is separating yourself from how non-founders think. Then you no longer focus on external validation and start thinking about building a real company.

<comment><USER7> > One of the hardest parts of doing a startup is talking with non-founders > about what you do .. it's so easy to say "I work at Google" or "I'm in med > school".

Is it really hard to say "I founded and run a business which does _< X>_"? I mean, its more words than "I work for _< foo>_", but its not really that much more complex of an idea, or unfamiliar to most speakers and listeners.

<comment><USER6> Yeah actually, it's quite hard unless you have traction, revenue or investors. At least it's hard when all your friends are working at <X> BigCo or doing grad school at <Y> BigSchool. And when your parents know that your friends are doing <X> or <Y> and the path you've chosen is so vague and uncertain ..

<comment><USER7> By "hard" are you saying it causes problem with _communication_ or a problem with a _desire of the speaker to be able to present an image consistent with expectations (personal or social) of success /security_?

<comment><USER6> Latter ..

</comment></comment></comment></comment></comment></comment><comment><USER8> How to raise money as a first-time founder? Start a company at a time when a first-time founder can write a _serious_ blog post entitled "How to Raise Money as a First Time Founder" that contains the following two sentences back- to-back:

1\. "When we went out to raise money, we raised with only a couple thousand dollars in monthly recurring revenue."

2\. "But we had a solid product, strong weekly revenue growth (10% week over week), and two distribution/marketing channels that were already paying dividends."

</comment><comment><USER9> Traction doesn't apply to a hardware startup. Quite simply, it's impossible to get any sort of "traction" when you don't have the cash required to commercialize hardware and release it to customers. Not to mention the manufacturing fiasco.

And not all startups are app-driven. Most are, since hardware is hard and a lot of startups like to ride the app-wave but this post only takes those into account.

Sure, social startups and other "apps" playing the users + page views + engagement numbers game can easily make an app, grow an audience and have their "traction" but this blog post applies only to those types of companies.

MANY factors are taken into consideration when raising money - not just traction. Where you went school matters, who you are, your team, your product, your business model, your ability to start and run a business, your past experiences with running a business, and etc.

It's not just traction.

VC's aren't stupid.

<comment><USER10> Traction applies to everything. Look at the hardware startups that used Kickstarter to gain traction before shipping! Lockitron and pebble for example.

But you can get traction in lots of ways. Got 200 customers on your waiting list? 10000 people follow your blog? 20 enterprise customers with verbal commitments to buy? Those are all traction.

<comment><USER9> I agree with you that having customers on a waiting list or a pre-order list is a great move with regards to pre-money traction, but there are certainly companies out there with proprietary technologies that require funding before they can be brought to life. Particularly, in the life sciences, biotechnology, and other high-IP areas, it's not very intelligent (or feasible) to launch a Kickstarter campaign in order to get traction.

But you make a _great_ point - traction doesn't apply to just users, which is something this particular post heavily emphasizes. Having 10,000 blog followers, pre-orders, enterprise customers, commitments, even endorsements from influencers who can promote and/or sell the product once commercialized, are all traction. Totally. Even IP is traction if done right.

Additionally, two years ago we didn't have any crowdfunding and there were plenty of companies that raised money without any "traction" as it's commonly understood in the Techcrunch arena today.

</comment></comment></comment><comment><USER11> It's funny. I _just_ got back from seeing a VC earlier today on Sandhill Road, and when I told them we were working on building out a product, they told me I shouldn't focus on that and should come back instead with a business plan. I'm fairly convinced that if I'd gone in with a business plan they would have told me to come back with a product.

Ultimately I think PG is correct. Focus on building out the business. If you spend all of your time planning instead of shipping, you're going to fail.

<comment><USER12> This sounds like the start of VC goose chase. They'll never say no but instead just keep you busy on the off chance that you'll hit on something. The only thing that snaps them out of it is the serious prospect of actually making a ton of money with managed risk.</comment></comment>


Apple boots Fortnite from the App Store after Epic adds direct payments - <AUTHOR> https://techcrunch.com/2020/08/13/fortnite-app-store-removed-apple/ <comment><USER2> This is a dupe. See the discussion here: [https://news.ycombinator.com/item?id=24146987](https://news.ycombinator.com/item?id=24146987)</comment>


Ask HN: What do you believe that most people don't? - <AUTHOR> <comment><USER2> That most of us struggle in a pointless daily grind, in the false belief that it gives our lives some sort of meaning. Most of us are wasting our lives doing stuff we don't really want to, instead of remembering to enjoy life. After all, we only get one shot at this.

That people should open their minds and be more accepting of new experiences that may challenge their own strongly held beliefs.

That we are much too terrified of drugs that are currently illegal, and not nearly terrified enough of drugs that are currently legal.

</comment><comment><USER3> That most life decisions for most people are based on their social and cultural environment that force them into a predefined path. Wandering out of it comes with a price of continual self-doubt. Staying into that path is an easy way to live an ok life but it comes with the greatest price of all: a terrible feeling of regret at the end of your life.

Something I also believe is that most people will not question those life decision and ask themselves if this is really what they want.

</comment><comment><USER4> That most ailments in the western world are ones of modernity: over-nutrition, over-medication, physical inactivity, excessive hygiene, lack of sunlight, non-ancestral diets and/or environments, environmental pollutants, etc, etc.

If something is bothering you that the doctors can't fix, it's a pretty good heuristic for plan-B.

<comment><USER5> I strongly agree with this. It irks me that doctors often prescribe drugs first without seeking to find the root cause of a problem. But I guess such is the culture these days. People want a quick fix without being told to change their lifestyles.

<comment><USER4> Most docs I know feel the same way, but when you get shaken-down for pills all-day every-day, most people are just going to give up and start passing out nexium and lipitor like it was candy on halloween.

</comment></comment></comment><comment><USER6> That you can have a good life without spending much money.

That most technology has little or no real value.

That web development sucks.

</comment><comment><USER7> That there is no free will. (and a few things deducted from that, like how anyone is innocent in some way and how this relates to criminal justice (protect society, resocialize, but never revenge)).

<comment><USER8> If there is no free will why even think about how to organize criminal justice. Surely the outcome of that is also predetermined, as it's formed by people without free will.

<comment> nils-m-holm > If there is no free will why even think about how to organize criminal > justice

What you are asking is, "if there is no free will, then why are you thinking about criminal justice out of your own free will?"

None of us is "doing" anything, it just happens.

Here is a little experiment: next time you talk to someone, try to find out what you will be saying before you actually say it. Maybe, there will be a surprise.

</comment></comment></comment><comment><USER9> That the majority of high school seniors would benefit more from trade school, apprenticeship, and small business entrepreneurship programs than four additional years of formal classroom education.

<comment><USER10> If we could only remove the stigma of being seen as somehow lesser for choosing a profession over another.

The only way people make me dislike them immediately is when they start showing arrogant and elitist behaviour towards blue-collar workers.

</comment></comment><comment><USER8> That most office jobs are useless, and contributing nothing, and what they do contribute could be done in far less time.

</comment><comment><USER11> Child labor laws, environmental laws, workplace safety laws, etc should apply to all goods transported, stored, or sold within a jurisdiction.

One hundred something democratic sovereign states and not a single one implemented this yet.

<comment><USER2> Agree 100%. Make local companies liable for the conduct of their international partners.

</comment></comment><comment><USER12> That you don't need to eat three or four meals a day. You can compress all the meals into one and still stay productive, energetic & healthy. ( Speaking from 2+ years experience of daily fasting and strength training )

<comment><USER13> No that would not work, and will make you feel really uncomfortable after eating.

You just have to eat the right type of food, beans, yogurt...

<comment><USER14> Yes, it works. Eat a salad, rice, beans, fish, and vegies once a day and you're good. I'm fasting 18hrs/day and I lose fat + gain muscles. Also, I save lots of time which I can put into work since I don't spend my time on preparing/cooking meals that much.

<comment><USER13> Oh crap I replied to the wrong post. I was replying to a comment who asked if he can just "load up all of your daily calories in that one meal"

I am actually fasting right now, sorry for -accidentally- being rude

</comment></comment></comment></comment><comment><USER15> I may be preaching to the choir here (because this is largely a tech audience) but I don't buy into the stereotype that gamers play videogames (video games?) because of laziness or sloth or some other unfairly negative characteristic misattributed to them.

I saw a post on Reddit where a group of gamers had recreated King's Landing, the main city from Game of Thrones, in Minecraft. The entire project looked like it took years to complete. It was something of an architectural marvel and a sight to behold.

The reason I bring that up specifically was because it was not the work of a lazy and apathetic group of people. I would imagine the entire project took more hours than I spent studying for much of my undergraduate degree. Not to mention the collaboration involved. The entire project was a collective team effort towards a goal that the group deemed meaningful. I have seen multiple projects of this scale on Minecraft. If the people involved were lazy and slothful, where would they muster up the energy to work on such an endeavor? A project like this involves a certain level of planning and discipline to see to completion.

I have felt the same way about competitive games like Starcraft in that I'm amazed at how much effort people put forth to obtain proficiency and competency. There are thousands of hours of YouTube videos online dissecting every aspect of that game, not unlike the way a football quarterback might analyze game film. Again, there is nothing particularly lazy about this. I see it no differently than I would see a chess player studying old chess matches and strategies to improve their skill.

My preliminary thoughts are that video games offer a fair simulation of perfect competition in a world that is otherwise devoid of fairness. Reality is messy. Much of it, maybe most of it, depends on where you started out economically, who your parents were, and what kind of people were around you while you grew up. It's easy to fall into patterns of thought that resemble a "Why Me?" view of the world. I suspect a lot of gamers fall under this umbrella. I'm not making a moral judgement here. Instead, the way I see it is: If the real world has been disappointing to you for whatever reason, why wouldn't you seek out a more "perfect" world in a simulation? Especially when the simulation offers you what you crave in the real world: status, competency, hierarchy, friendship, community, etc. All of those can be found in video games. To me, many of them resemble a sort of perfect and fair world where one lives and dies by their own merits. I see the appeal of disappearing into one of these.

I'd love to hear everyone's thoughts on this. I was thinking about this recently and I am still hashing out my thoughts.

<comment><USER16> One component of the 'gamers are lazy' stereotype probably comes from the fact that most of the people authoring that opinion are the gamers' parents; who'll just perceive it in the way they will. They are also the generation which like to hear their opinions reflected in prime-time news, which gladly obliges.

Gaming is ubiquitous, in another decade I imagine that attitude will be on the way out.

Those are the obvious points though, I think it's more interesting to think about how the mechanical and repetitive aspects of gaming replace a naive, deep drive for precise actions which demand focus and skill, and move chaotic or unordered things towards some goal. In the 20thC that was probably fixing cars or working in a factory or building stuff. Good ways for satisfying the drive, if you have it.

And in a nice continuation of this relationship, the more that AI replaces work, the more I think leisure, work and gaming will coincide. Many gaming environments are good examples of behavioural economics in action: incentives, rewards, how changes to game balance (even perceived changes to balance) or the price/availability of cosmetics nudge or shove player behaviour... We could stab guesses at how to implement these patterns in a way that considers them economic activity.

I don't think gaming necessarily has to be 'better' than life for it to take up a great deal of it. It just has to have the right kinds of 'APIs' to satisfy that messy, obsessive, predatory/reward-loop hunger which appears in most men and plenty of women.

My central thesis is that a couple of decades leads us basically to the Matrix (though I'm hoping for a sunnier version).

<comment><USER15> I love the example of fixing cars and building stuff. I never thought about it like that, but now that you mention it, I do think a lot of modern games are replacing the 20th century hobby of coming home and working on your car on weekends.

What you said is also what I'm suggesting: that gaming satisfies that drive in its own way. It's a simulation that can provide most of those same feelings.

</comment></comment></comment><comment><USER17> That quantum entanglement is limited to strong gravitational fields. Like we see the probability field because we are in Earth's gravitational field. But it doesn't span the entire universe infinitely.

</comment><comment><USER18> That it's entirely possible to save enough in order to retire early.

<comment><USER19> I can agree with that, though in part it obviously depends on how high your income is, and how you invest and compound the money you have made.

If you're making $25k a year it will be a lot harder and take much much longer to retire than for someone making $150k a year.

<comment><USER18> Yeah, I agree. Psychologically, I found it's easiest to simply not use raises in income.

<comment><USER19> Well, I think you need to find a balance. Don't blow through everything, but also enjoy life because you only live once.

I know guys who save up to the last penny to try and achieve financial freedom. It's infinitely easier (and more efficient) to try to make more money than it is to, for example, not buy the occasional starbucks coffee.

<comment><USER20> That's right. The approach that works for me is optimising top-down. Save on the big expenses (accommodation, car, groceries) which requires planning and System II thinking. Try and save on the smaller stuff but as you're fighting your impulses (under social pressure, marketing influence etc) its much harder, so go with the flow.

<comment><USER19> Yup, exactly my line of thinking!

As an example: I had the opportunity to take over a very nice corporate car of a friend at a ridiculously low price (for a variety of reasons). Basically I managed to purchase at half the actual value of the car -- it was a few years old but looked almost new and had super low miles. It was in perfect condition.

I could've bought and sold it on the spot for close to double the price I paid. But I'll drive it for a few years and likely be able to sell it for close to the same price I originally paid for it. Others go buy a new car, take a massive depreciation hit, and in the end spend tens of thousands more.

The expensive tickets are worth focusing on. Then go drink all the coffee you want.

</comment></comment></comment></comment></comment></comment><comment><USER21> That we are all part of a macro-organism. we all act as parts of the body and the more we organise the more we collectively grow.

populations that are decimated lose massive amounts of knowledge and only increase in numbers increases the complexity of the technology.

in a lot of ways we act like cells in the human body. nothing tells them to be what they are, they find an opening and fill the role required of them.

this doesn't mean we are going anywhere specific, but it does mean that as we work together our collect potential grows.

<comment><USER7> I believe this too and my biggest fear about it is, that globalized humanity is a single specimen (at most a single pack).

</comment></comment><comment><USER22> Corporal punishment is more humane and a more effective deterrent to crime than prison. I am not actually sure if most people don't believe this.

</comment><comment><USER23> That birthdays are stupid. I love celebrating life and try my best to do so in every moment, but this forced celebration is a total turn off.

<comment><USER24> I feel the same way about New Year

</comment></comment><comment><USER2> The only way to be truly happy is to be ignorant of all the ills we are inflicting on the world and each other.

Once you attain this awareness as part of growing up, the only way to drown out the awareness of this deplorable state of the human existence, is to numb the mind with drugs or to damage the brain to such a degree that it stops mattering to you.

<comment><USER5> I think there are two sides to this. Either ignore it, or embrace it and accept it as part of the human experience. If you accept that suffering is inevitable, you recognize the positives in life more readily. To me, this approach allows me to be present in life, as opposed to numb with drugs, waiting to expire.

<comment><USER2> The main problem is that no matter what, those positives are only tiny points of light in a big pile of shit.

</comment></comment></comment><comment><USER25> Sugar is as toxic as alcohol. People here may agree but try that one at a neighborhood block party.

</comment><comment><USER26> Believe is the death of intelligence

<comment><USER10> You go around testing and reproving everything you encounter? Or do you believe in what a scientific community tells you, even partly?

</comment></comment><comment><USER27> One has a right to dislike an another person based solely on gender, race, religion or ethnicity; I can be tolerant but I won't feign acceptance or force myself to like such a person.

</comment><comment><USER28> 1) Destiny exists: events of our life are pre-determined

2) There is life after death to transit and prepare before your next reincarnation

<comment><USER29> Why do you think most people don't believe this? Aren't those major points of the most popular religions? I feel (I haven't searched for hard data) those views are shared by billions of people.

</comment></comment><comment><USER30> That all mental and physical reactions presented by all living things do not yield a true bearing of value. Every entity in the universe reacts with every other entity it comes accross to produce an outcome and nothing more. Being ecstatic bears no difference in value of being tortured.

<comment><USER31> This doesn't make sense to me.

There's no such thing as "value" determined by the laws of physics or floating around in the universe. Things that don't have minds don't have the concept of value. But we do. Value is created by human minds.

And if value is created by human minds, then it's definition depends on what we find valuable.

I find not being tortured pretty fucking valuable, so are many other people [citation needed]. If I place value on a thing or a state of mind or some state of the world, then it's valuable.

<comment><USER30> by value im talking about morality/ethnicity of the whole occurence. sorry for not clarifying that.

</comment></comment></comment><comment><USER32> Most people are smart.

</comment><comment><USER33> Consciousness is all around and estimates the same thing. The global minima consciousness is the mind of the universe.</comment>


California governor proposes consumers get 'data dividend' from tech companies - <AUTHOR> https://www.marketwatch.com/story/california-governor-proposes-consumers-get-data-dividend-from-tech-companies-2019-02-13 <comment><USER2> I'd settle for just a bill of rights. The amount of money received really wouldn't be significant.

I'm building an app and want to take advantage of user data:

[https://getpolarized.io/](https://getpolarized.io/)

I think my users are more concerned that their rights are respected not that we give them back $5 per year.

</comment><comment><USER3> there is some data that should be off limits, such as the route someones kids take to school, or the most likely times when someones house will be unoccupied, in other words data that could be weaponized to the detriment of society.</comment>


Ask HN: Mobile Developers - <AUTHOR>

I'm working on a project to help you guys get better publicity.  Specifically, trying to serve that middle ground for apps that aren't on any Top 10 lists.<p>If you have a mobile app you've developed (for any platform), please shoot me an email (contact info in my profile), or leave info in the comments so that I can get help you out. <comment><USER2> <http://nibzy.com/> \- directory for the best mobile formatted sites for mobile/tablet - web app

<comment><AUTHOR> Oh I like that! Manually curated I assume?

Good use of (what I assume is) jqTouch.

<comment><USER2> yeah manually curated at this point. Using jquery mobile, on google app engine

</comment></comment></comment><comment><AUTHOR> test

<comment><AUTHOR> test</comment></comment>


Microsoft Removes Start Menu, Button from Windows 8 - <AUTHOR> http://www.osnews.com/story/25581/Microsoft_Removes_Start_Menu_Button_from_Windows_8

<comment><USER2> Somewhere in Seattle, Brad Silverberg is shedding a small tear.

</comment><comment><USER3> Maybe they'll go the Ubuntu hidden menus auto-complete route.

</comment><comment><USER4> wow.. ballsy move, what is next? WinFS is back?

<comment><USER5> Basically they did that too: [http://blogs.msdn.com/b/b8/archive/2012/01/16/building- the-n...](http://blogs.msdn.com/b/b8/archive/2012/01/16/building-the-next- generation-file-system-for-windows-refs.aspx)

Called ReFS though.</comment></comment>


Show HN: A terminal-based presentation tool with colors and effects - <AUTHOR> https://github.com/vinayak-mehta/present <comment><USER2> It seems super useful. I think I will install and try it. Thank you so much

<comment><AUTHOR> Thanks!</comment></comment>


The Mirah Language: bringing modern features to the JVM without runtime overhead - <AUTHOR> http://drdobbs.com/java/229400307

<comment><USER2> I forgot to show one of the coolest features of Mirah...it can output Java source too: <https://gist.github.com/888001>

The original goal for this was to allow Mirah to be used in places where Java source is required, like GWT apps. We've kept it going over the years (thanks to Ryan Brown, my co-conspirator).

<comment><USER3> Android is an exciting use case for Mirah. The other JVM languages run into the runtime library and performance problems mentioned towards the beginning of the article.

<comment><USER4> Kawa Scheme is another JVM language that works well on the Android.

3-part tutorial on how to write Android apps in Kawa: [http://androidscheme.blogspot.com/2010/10/introduction-to- an...](http://androidscheme.blogspot.com/2010/10/introduction-to-android-app- development.html)

</comment></comment></comment><comment><USER5> I looked into using Mirah for Android programming a while back. I took a 3D tutorial for Android (in Java) and tried to do exactly the same in Mirah.

What I found was that it seemed to be (mostly) possible, but there was NO documentation on how to do most things. With someone's help, I got the tutorial working, except for 1 last bit at the end that wasn't really necessary yet. I never did figure out how to do that bit.

This is the tutorial: [http://www.droidnova.com/android-3d-game-tutorial- part-i,312...](http://www.droidnova.com/android-3d-game-tutorial- part-i,312.html)

The part I never got working was the 'queueEvent' bit of the 'onTouchEvent' bit. Without queueing it, I could get it to work, but I could never figure how to queue it like that.

My sources as I left them: <https://github.com/wccrawford/Hello-Mirah-- Android>

Without any documentation or real info out there on Mirah, it was incredibly frustration just to get that far.

I realize it's a new language, but I can't recommend its use at this point. It needs to mature and gather a community before it's worth investing serious time in.

<comment><USER6> It looks promising, but I want a few things first as well:

* docs (as mentioned)

* some kind of javadoc / rubydoc mechanism (perhaps there is?)

* a NetBeans plugin

* a pony

OK, maybe I can get by without the last one :-)

<comment><USER2> Docs...yes, we're getting there. Not all the languages features are even documented because they were added very quickly. It's coming along.

I've been thinking about a MirahDoc format. I think we could pretty much do it like JavaDoc. Potentially even make it work with Doclets.

There is an old NB plugin based on the Ruby plugin, but I doubt it works now. We'd love to have help here. The plugin is on github: <https://github.com/mirah/mirah-netbeans-plugin>. Of course we'd like help supporting Eclipse and IntelliJ too.

</comment></comment></comment><comment><USER7> And the best thing about Mirah? It's written in JRuby.

Charles Nutter is insane. I've got to find a way to use this myself. Maybe for his encore he'll rewrite JRuby in Mirah, just to show Mirah is everything Java is and more. Or maybe the world will explode, who knows.

<comment><AUTHOR> > Maybe for his encore he'll rewrite JRuby in Mirah

Actually, that was part of the motivation behind Mirah; Rubyists don't want to contribute to the parts of JRuby that are implemented in Java.

<comment><USER8> Well, what would you expect from people who title themselves 'rubyists'? As opposed to 'programmers', 'web developers' or anything meaningful at all.

</comment></comment></comment><comment><USER9> Pretty neat. Mirah is to Java as CoffeeScript is to JavaScript?

Looks very similar to ActionScript 2, with shades of Scala. Really neat looking language.

Anyone know where the `param: Type` (i.e., parameter name colon type) convention came from? I've seen it more frequently lately, and I wonder if it's easier to parse than Java's `Type param` (or my favorite: `param Type`)?

<comment><USER2> I actually officially asked Jeremy Askenas if I can use the phrase "Mirah is the Coffeescript of Java". He gave me his blessing.

The param:type notation I largely just stole from Scala, but it seems (in my novice opinion) easier to parse as well. It also fits better with optional type declarations, which we have in the case of interface impl or class extension (easier to omit syntax on the RHS than on the LHS for a typical parser).

<comment><USER2> And oops...that's Ashkenas. Sorry, Jeremy :)

</comment></comment></comment><comment><USER10> I started playing with Mirah last weekend, and I'm probably going to use it in my next project. Native Java speed, Ruby syntax, and JRuby interop are a hard feature list to beat.

</comment><comment><USER11> One of the things that I extremely love about this is the fact that it compiles down to almost identical java bytecode and then can be run with the java command. The fact that performance is on par with java. That it is basically statically typed ruby on the jvm. In my opinion its what jruby should have been. Its absolutely brilliant and a testament to how languages should be written on the jvm. I think one of the key points as said is to limit overhead in comparison to java.

Has anyone written anything in mirah thats been deployed? I assume it can be built pretty much in the same way as any java project.

</comment><comment><USER12> Java without ceremony ( _I don't know, code casual_?)

But last time I tried it, there was massive compile time overhead (30 seconds for hello world, on a eee PC). Has that changed? I'm possibly getting it confused with a bunch of JVM languages that I tried out at the same time.

<comment><USER13> Thats often the case with new languages. I remember it took longer than that to compiler Hello World in Scala, but today that is pretty fast.

<comment><USER2> We've slowly moved more and more of Mirah into Mirah code as well, which will help performance over time. Currently almost all of Mirah is written in (J)Ruby, with according startup and performance overhead. Great for prototyping, and great for extending (we will probably always allow defining language features in Ruby) but not great for quick startup and fast execution.

</comment></comment></comment><comment><USER14> The checklist for Scala:

\- Performance equivalent to Java for equivalent code

Pass.

\- No language-imposed runtime library

Failed. 5mb runtime lib.

\- No more (or not much more) complicated than Java

It depends. For some, Scala feels much more streamlined than Java. For others (esp. those used to dynamic languages), the type system is a huge pain.

\- Beautiful

Certainly much more beautiful than Java.

\- Perfect integration with JVM libraries

Use existing JVM libs without change.

\- Extensible

Major language features such as actors are all libraries. Very easy to embed DSLs.

<comment><USER2> Scala is a great language, but the requirement that I ship Scala's libraries if I want to do thinks the Scala way is a nonstarter for the use cases I have. Yes, you can Proguard a lot of that away, but if I use Scala's collections or other libraries, I'm still stuck adding a runtime lib.

As far as the others go...I don't disagree. Perfect integration with Java is perhaps a bit debateable, since you can't overload constructors, can't define real static methods Java can see, and so on. But those are minor items.

I don't intend Mirah to be a Scala-killer either. Scala is more of a platform now than just a language, and if you're on that platform, you have my blessing. If, however, you just want something to replace javac everywhere you use Java today, I believe Mirah is a better fit.

<comment><USER14> You are right. It really depends on use cases. In many scenarios, a 5mb lib is just another dep that build tools such as sbt will handle for you. In many others, 5mb overhead to a 500kb mobile app is obviously overkill.

My use case is fine with Scala: no deployment issue, no Java legacy other than using a few libs, and everything else is fresh in Scala. So far I'm very happy with the choice. FP makes things really compact.

I like Mirah for the fact that it can generate Java source code (vs. JVM bytecode). I would imagine there are many cases Java compatibility down to the source code level would be desired.

Anyway, good job!

</comment></comment></comment><comment><USER15> Neat and interesting, I strongly prefer Mirah more than Scala to be the "next Java"

<comment><USER16> gimme optional dynamic typing and I'm sold

<comment><USER17> I believe it's in there, no? (Requires the java 7 runtime, if memory serves?)

<comment><USER18> Can you link to an example or something?

<comment><USER2> Here's the example from Mirah's repo: [https://github.com/mirah/mirah/blob/master/examples/dynamic....](https://github.com/mirah/mirah/blob/master/examples/dynamic.mirah)

It does require Java 7 and there's no plans to make it work on Java 6-. Unlike the rest of Mirah, this feature (if you use it) _does_ require a runtime library, since Java 7 / invokedynamic do not ship anything builtin for choosing a target Java method. We use Attila Szgedi's "dynalink" project, which provides a default dynamic linker based on Java language specification method selection rules.

Long story short: yes, Mirah can support dynamic dispatch as well, but it needs a little bit of runtime library to support that.

</comment></comment></comment></comment></comment><comment><USER19> Is there something similar for Pythonistas? i.e., something with python-like syntax, static and duck typing, and performance that of equivalent Java?

<comment><USER20> Ruby syntax is already really similar to Python syntax. Significant indentation is the biggest difference. I actually made a prototype Ruby with significant indentation a la Python and I think most people would have mistaken it for Python at a glance.

</comment></comment><comment><USER18> Is there an example somewhere that involves compiling more than 1 file?

<comment><USER2> You should be able to just specify a list of files to the compiler. They should sort themselves out.</comment></comment>


Fifth Amendment Prohibits Compelled Decryption, New EFF Brief Argues - <AUTHOR> https://www.eff.org/deeplinks/2013/10/new-eff-amicus-brief-argues-fifth-amendment-prohibits-compelled-decryption <comment><USER2> The EFF is doing some incredibly important work. Please setup a monthly donation:

[https://supporters.eff.org/donate](https://supporters.eff.org/donate)

<comment><USER3> Can someone describe to me the important work they are doing maybe in 5 bullet points? Im cool with donating, but I would love to see why... I don't want my cash going towards something that is just another political scheme to raise cash.

<comment><USER4> #1 investigates breaches of Internet civil liberties.

#2 Provide legal support to people who's civil liberties has been violated. Mostly related to free speech.

#3 Protects security researchers from government harassment, particularly those who produce encryption software.

#4 Develops software security tools, like https everywhere.

#5 Uses legal tools to get government to admit and publicly release documents related to surveillance, incorrect search and seizures, anti-file sharing laws, patents and free speech. see more at [https://en.wikipedia.org/wiki/List_of_litigation_involving_t...](https://en.wikipedia.org/wiki/List_of_litigation_involving_the_Electronic_Frontier_Foundation)

<comment><USER5> If you want to fund security tool development, consider contributing directly to that. For instance, the effort to audit Truecrypt is still raising funds:

[http://istruecryptauditedyet.com/](http://istruecryptauditedyet.com/)

The security of Truecrypt is incredibly important to privacy efforts.

If you're looking to provide legal support to people, consider donating to ACLU. By the numbers, ACLU appears to be a much more effective way of converting donations to legal support for civil liberties cases. I have some reservations about EFF but unreservedly support ACLU.

As a security researcher working in encryption, I'm not sure what #3 is about. I'm more likely to have the government offer me money (I won't work for the government, haven't in the past, or even accept DARPA grants) than harass me.

<comment><USER6> > I have some reservations about EFF

As a recurring donor, I'm interested to hear what you don't like about them.

As for protecting security researchers, I suspect the gov't is more interested in (and likely to harass) Applebaum et al than you guys.

<comment><USER7> Likewise. I have some reservations about the ACLU (but nonetheless support many areas of their work) but wholeheartedly support the ACLU.

Because I know folks will ask me, I think that antidiscrimination law and things like first amendment rights so frequently conflict that I think there is a real conflict of interest when an organization takes on both. The ACLU does take on both, or they claim to, but this usually means pushing antidiscrimination law over first amendment issues, which I think is a real problem.

<comment><USER7> Ick. I meant I wholeheartedly support the EFF :-P

The ACLU's position in a lot of issues like Hosana Tabor v. EEOC was wrong (so wrong that all 9 justices disagreed with the ACLU and stood up instead for civil liberties), and they are for corporate free speech on political issues (Citizens United) unless that is discriminatory (Willock Photography). And so forth.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> Why is that when the government says "But, but computer!" judges abandon common sense and case law. Even when the tables are turned there is still an amazing amount of techno-ignorance in the process. Consider the long ago (tech time anyway) prosecution of Microsoft. The idiots in charge completely ignored their success with IBM and attacked via the browser vector. Andrew Schulman at the time of pre-trial investigation had three books entitled Undocumented this that and the other thing. Each should have been a successful blueprint in terms of anti competitive behavior. Had this and the browser been part of their war chest I think the result would have been considerably stronger (i.e. the bust them apart goal would have been reached) with a appropriately more useful public result. <end_of_slightly_off_topic_rant/>

<comment><USER9> "Why is that when the government says "But, but computer!" judges abandon common sense and case law"

I can think of a few reasons:

(1) My understanding of the legal theory is that computers are considered to increase the capabilities of the population; hence, the government's power to enforce the law must also be increased. Consider a car analogy: you must display visible license plates to identify your vehicle whenever it is on the road, yet that was never required for horses, carriages, bicycles, or any previous mode of transportation. Likewise with computers: where previously you might have been able to whisper a secret to someone a foot away from you, now you can secretly communicate with someone across thousands of miles.

(2) It is assumed that the spirit of the law must be upheld. If the police are legally allowed to wiretap a suspect as part of an investigation, then encryption must not be allowed to get in the way of that. In other words, technology must not defeat the law, even in spirit.

(3) Conservative views of technology: quite a few judges are still of the opinion that personal computers are just fancy cable boxes, and so doing anything that violates the will of service providers or governments is "abuse." Entering a URL manually is considered to be vastly different from writing a script to generate and fetch URLs automatically, even if there is no technical difference. If you discover that your phone lets you make a free long distance call when you whistle into it, you are a criminal; if you discover that a web server will give you anyone's account number when you enter the right URL, well, you're an even worse criminal.

(4) Ignorance of what is actually possible with computers. See e.g. how Kevin Mitnick was treated when prosecutors claimed he could whistle into a phone line and thus launch a nuclear strike.

<comment><USER10> Re (2), the idea that LE is entitled to have comms decrypted has never been "the spirit of the law" until very recent legislation. In the days of "alligator clip on the wire", the law allowed the police only to intercept whatever the content was, in the form it was in - it did not compel the people speaking to explain their "code words", or to speak in a language the officers could understand.

It is precisely this fact which makes the current "going dark" argument an example of overreaching and mendacious, bad-faith deceptive rhetoric: encryption does not take away any powers the police formerly had; to the contrary, the demand for decryption goes far beyond traditional wiretapping principles.

<comment><USER9> I am not saying that I _agree_ with the idea, but one could make an argument that modern cryptography is different from speaking with code words, and that the spirit of wiretapping laws extends to forced decryption. Using code words only barely qualifies as "encryption" at all -- it is certainly not going to meet basic semantic security definitions. Further, codewords are not something is built into any communications equipment, not automated, and computed in one's head -- quite different from TLS or OTR.

One could argue (as the DoJ does) that the spirit of wiretapping law is that the police can, with the approval of a court, temporarily violate a specific suspect's privacy in an electronic communication system. Hence if the system automatically encrypt's the suspect's messages, the police should be able to obtain plaintexts. Phone companies are not exempted from wiretapping requirements when they multiplex phone calls, despite the fact that that is a technical measure that (as a side effect) impedes wiretapping.

Again, this is not an argument I _agree_ with. For one, wiretapping laws do not, as you pointed out, require a suspect to participate in any way in the wiretapping. For another, there is a component of modern encryption that does (or should) occur in a suspect's mind, much like the computation of code words. It is also true that in general, wiretapping laws have expanded far more rapidly than communications technologies have hampered police investigations; the ability of the citizens to have a private conversation is still "catching up."

<comment><USER10> Actually you are right and I overstated. This has been the distinction in the recent laws, if the provider as opposed to the interlocutors can decrypt it is required.

It is a challenge to build a system that encrypts as part of a service (rather than users encrypting at the endpoints), yet prevents the service operater being able to provide plaintext. In this situation the 5th amendment does not avail, but I think there is a strong argument for the service provider having an option to shut down (like Leveson/Lavabit) rather than cooperate - not on the grounds Leveson argued, but rather by a right to avoid being used as an instrument of fraud. But we digress from the main topic here.

</comment></comment></comment></comment></comment><comment><USER11> Does the Fifth Amendment only apply to US citizens? The reason I ask is this: if I am traveling to the US and the TSA asks me to decrypt my laptop or unlock my phone, am I protected under the Fifth Amendment? Well, are US citizens protected under it at the airport?

<comment><USER12> There are two issues:

1) Does the Fifth Amendment apply?

2) Does the Fifth Amendment prohibit certain things?

The Fifth Amendment, like the others, generally applies to not just citizens, but legal residents and others who are on U.S. soil.

The second issue is what's interesting here. The literal text of the Fifth Amendment is:

"No person... shall be compelled in any criminal case to be a witness against himself."

Literally, it prohibits people from being forced to testify against themselves in a criminal trial. The Supreme Court has ready it very broadly to prohibit all sorts of other things, but one limit it has recognized is that it still only applies to "testimonial" incrimination. Think: testifying on a witness stand. Non-testimonial acts, like forcing someone to unlock a box, are not covered.

Some courts have held, and the EFF argues, that providing an encryption key is unlike providing the key for a box because it requires you to recount things that are in your memory, and is therefore testimonial.

<comment><USER13> A close analogy is: Even if you can be compelled to open a lock box, if it is filled with papers that are in an unknown language, can you then be compelled to translate those documents? That, to me, is the equivalent to providing a decryption key.

<comment><USER12> I don't think it's a great analogy, because translating documents requires a wholly different level of mental involvement than simply recounting an encryption key. Note that even fishing out and providing a regular key requires some degree of mental involvement.

<comment><USER13> What about providing information such as what language the document is written in? Of course, the real equiv. is if the document is written in code, then can you be required to reveal the secrets of the code?

</comment></comment></comment></comment></comment><comment><USER14> As an EFF staffer who worked on this, I want to mention that ACLU and ACLU of Massachusetts deserve substantial credit for this brief.

</comment><comment><USER15> If you can be compelled to provide a physical key, I don't see why a digital key should be different. It's not "being a witness".

That said, I'm nonetheless happy the EFF is pushing at this - it's that kind of pressure that makes sure reasonable calls are made in the corner cases.

<comment><USER16> Because you can't stick a digital key into random data and expect the result to make any sense?

They _believe_ the random looking data is actually encrypted data, data they _believe_ is relevant, and they _believe_ it can be decrypted by what they _believe_ is a keyphrase they _believe_ you still remember or had in the first place.

That is quite a big wager to throw someone in jail over, for a potentially unlimited time.

(Now of course TrueCrypt containers and the like still have somewhat of a recognizable header format - but theres no guarantee they contain _anything_ )

<comment><USER15> For the record, I absolutely _don 't_ think that indefinite detention is an appropriate response.

<comment><USER15> Also, I don't think "block of random looking bits" should be considered prima- facie evidence that it is encrypted data (by any particular key or even at all). But if there _is_ strong evidence that key A was used to encrypt some bits, and if there is strong evidence that person B has access to key A, _then_ compelling production of that key is not absurd if done correctly.

</comment></comment></comment></comment><comment><USER17> I like this argument and agree with it, but it seems like the only real way to truly protect yourself from being compelled to incriminate yourself is to use deniable encryption. There will always be cases where a specific jurisdiction makes an incorrect call that forces someone to give up their key or go to jail. There needs to be a solution for that other than suing to put the toothpaste back in the tube.

<comment><USER9> Deniable encryption only works if either (a) everyone is using it or (b) there is no way to tell if you are using it. I doubt you will ever see the former, and that latter is pretty difficult -- even if such a scheme exists, you have to also hide the deniable encryption software you are using i.e. it is the classic warden problem.

To put it another way, let's say you are using Truecrypt, and the prosecution can prove that you have incriminating documents on your laptop. You enter your "innocent" passphrase and behold! No incriminating documents. I think the next obvious move will be for the court to demand that you enter your _other_ passphrase, leaving you trying to prove that you really were not using the distinguishing feature of Truecrypt.

A better solution, where applicable, is to destroy keys as quickly as you can. Keep your keys on a smartcard, and self-destruct the card if you think you will be arrested. You will deny yourself access to your files, but you will also deny your adversary such access. The police might try to prove that you destroyed evidence, but that is much harder to prove if your own procedure is to periodically destroy your keys (and such a procedure can be done individually without raising suspicion). Basically it all comes down to opsec -- something the military has known for centuries.

<comment><USER17> I'm talking about a deniable encryption scheme such as rubberhose, where the fact that you're using it is known, but it's impossible to tell whether you've revealed all the hidden aspects or not. "Here's my key." "Well, you're using deniable encryption; we need your other key." "Ok, here are my other two keys."

But your hypothetical is also strange: "let's say ... the prosecution can prove that you have incriminating documents on your laptop." If the prosecution can prove that you have incriminating documents before you ever provide the keys, you're already screwed.

<comment><USER9> The thing is, if you are using deniable encryption and keep producing keys that reveal innocent data, the government will just keep demanding keys from you. Basically, you have to be able to last until they give up -- but the odds are already against you on that.

As for the hypothetical scenario, that is actually something that happened in real life:

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

In real life it is somewhat unusual for the government to grab random people off the street and demand plaintexts. There is going to already be some kind of evidence against you, something to make the government suspicious. Maybe you attended an antiwar protest. Maybe you published a book about how to molest children. Maybe you are connected to some kind of fraud. Maybe a cop saw what appeared to be child pornography on your monitor. If the government is asking for your passphrase, it is because they already expect to find incriminating files; they will not just shrug and say, "We goofed!" when they see a deniable encryption system producing innocent files.

<comment><USER17> While there is a sort of a "when do you stop asking for keys" problem, that doesn't mean they will necessarily be able to compel you to provide that final key you don't want them to have. The fact that they haven't gotten what they're after yet is not evidence that you have more keys, because it's indistinguishable from the case where you've simply already deleted the files.

I'm not expecting them to shrug and say "we goofed", I'm expecting them to realize that with a well-designed deniable system, they can't tell the difference between you being uncooperative and there being nothing incriminating to find. If they can prove the files exist and you're refusing to give them up, then that's something they can charge you with, but as I indicated earlier, that's a different kettle of fish.

The big risk with deniable encryption, of course, is that the courts don't really understand it well and you end up in a situation where they are compelling you to provide information that _actually does not exist_ (they think it's on a hidden aspect but they're wrong), and are willing to throw you in jail for not producing it. This risk is what leads me to the conclusion that the law _must_ acknowledge that compelling complete decryption of all data is impossible.

<comment><USER9> "The fact that they haven't gotten what they're after yet is not evidence that you have more keys, because it's indistinguishable from the case where you've simply already deleted the files."

Perhaps, but then why not just provide _no_ key at all and rely on the semantic security of the cryptosystem? If you need to give the court a reason why you are not producing the secret key, you can always claim to have forgotten it. How does deniable encryption improve over that, if in the end it comes down to indistinguishability?

"I'm expecting them to realize that with a well-designed deniable system, they can't tell the difference between you being uncooperative and there being nothing incriminating to find."

OK, but the same is true of non-deniable encryption when you say, "I forgot the key!" Anything that might lead them to believe otherwise would be equally applicable to deniable encryption.

To put it another way, what is the difference between saying, "I only have _this_ key," and saying, "I cannot remember the key at all?" In either case, you need to convince the police that there is no incriminating key they can demand from you.

<comment><USER17> This is a good question, and the differences are pretty small. One difference, although I'm not sure what the impact is of this difference, is that if you say you've forgotten the key, that's an acknowledgement that there _is_ data there to be discovered, just that you can't provide access to it. Does this leave a door open to other efforts to decrypt it? I don't know.

</comment></comment></comment></comment></comment></comment></comment><comment><USER18> This is astoundingly obvious.

> nor shall be compelled in any criminal case to be a witness against himself,

I could see compelled decryption being congruent with the constitution if the decrypter is guaranteed immunity--ie, you can be compelled to be a witness against _someone else_.

<comment><USER9> Oh but the courts can find convenient interpretations of the wording. Like, the act of entering a passphrase only proves that you know the passphrase, so unless that knowledge is entered as evidence against you you have not actually witnessed against yourself.

Really though, there is a deeper issue here. What if I legitimately forget my passphrase? There is no real way to know whether or not I forgot it; will I be held in contempt of court over my forgetfulness? Will I be accused of perjury? Will I be imprisoned? Might the government accuse me of a crime, point to an encrypted hard drive that I have not used in a year, and then throw me in prison for failing to decrypt it?

<comment><USER19> _What if I legitimately forget my passphrase? There is no real way to know whether or not I forgot it_

MRIs might change this.

<comment><USER20> I am not convinced that they could within any foreseeable future. They may be able to prove that the knowledge is in there, or they may be able to prove that _you think_ you are lying, but proving that you are _truly able merely unwilling_ to actually vocalize that data is another matter entirely. Hell, there are disorders that render you unable to vocalize your own name, despite knowing full well what it is and _wanting_ to vocalize it.

Who is to say that _" It is on the tip of my tongue/fingers, but I can't seem to say/type what it is."_ does not, under an MRI, appear to be _" He knows what it is, but won't say/type it."_?

I'm sure you could find expert witnesses willing to be paid to argue either way exactly what the MRI is or could be indicating.

<comment><USER19> _I am not convinced that they could within any foreseeable future...there are disorders that render you unable to vocalize your own name_

Seems terribly shortsighted, given the points you are arguing from. If there is a disorder, it seems quite likely that we would eventually be able to detect the disorder.

<comment><USER20> Psychology today is still struggling with classifying disorders _by observable symptoms_. We are a _long_ way off from being able to make a wide range of conclusive _and specific_ diagnoses, particularly of subtle phenomenon. Hell, it isn't even clear how many different phenomenon we are currently calling "schizophrenia". We don't know the categories to put people into yet!

Regardless, I did say " _foreseeable_ future". There may be developments that catch me by surprise, but going at the current rate and direction we are right now, there is no way in hell MRIs will be able to satisfactorily contradict _" I am unable to recall"_ in a courtroom anytime soon.

<comment><USER19> It seems out disagreement is just stems from different shades of "foreseeable." To me, it's a foregone conclusion that scanning technology will one day be able to verify claims that one is "unable to recall," though we can't foresee exactly how and when this will happen.

</comment></comment></comment></comment></comment></comment></comment><comment><USER21> Hmm a case of the EFF wanting something to be true I feel

To use an analogy if you can be compelled to give up the keys to a physical safe how can electronic keys be considered differently? To quote Spock "a difference that makes no difference is no difference "

This is what the "man on the clapham omnibus" would think

</comment><comment><USER22> As screwed up as our government is, I'm still so thankful that we have a bill of rights.

</comment><comment><USER23> If I built an encryption system, where entering a specific key initiated a function that systematically destroyed all data on the drive.... could I be accused of tampering with evidence?

<comment><USER24> ...and then don't enter the "destruct" key yourself, give it to them so they enter it and destroy the data.

<comment><USER25> Or how about a sort of dead-man's switch? Is _that_ tampering? Everything you did was put into place before you got into trouble. Can you be charged with "pre-tampering" of evidence? Or how about "not untampering" of evidence?

</comment></comment></comment><comment><USER26> When did the 5th amendment become a privilege? Last I saw it was part of the Bill of 'Rights'.</comment>


Guess Me - <AUTHOR> http://timekillerwordgame.appspot.com/#.VKVH4oX2EWQ.hackernews <comment><USER2> Awesome timepass game. A lot of new feature could be added but still it's great.</comment>