Immutable Web Apps - <AUTHOR> https://immutablewebapps.org/ <comment><USER2> I wish there was some "why"

> Static assets must be hosted at locations that are unique and independent of > the web application environment(s)

Why? Meaning a different domain or is path enough? What are "static assets" compared to every other file served by a web server? I assume meaning will never ever change, so images are not "static assets"? What if I name them by what they are and commit to changing the name when I change the image?

> Static assets are the files (javascript, css, images) that are generated > from a build of a web application codebase. They become immutable when they > do not contain anything environment-specific

> Static assets must not contain anything that is environment-specific

So, static assets are only immutable when they don't have anything environment specific. Oh, and static assets always don't have anything environment specific. I'm confused in the wording. Clarification required. So my build generates some environment-specific CSS file and in one paragraph that's a static asset and in another it's not?

<comment><USER3> > Static assets must be hosted at locations that are unique and independent of > the web application environment(s)

> Why?

Broadly, for the same reason that separating content, structure, and style is considered a good idea. (We can debate separately about whether HTML/CSS/JS applied this principle appropriately.)

From another angle, this is just another way of saying that static assets should not depend directly on the environment, and that only `index.html` should differ, since it's the effective manifest of your application. It's okay for different environments to go to a different URL for `index.html`.

> I assume meaning will never ever change, so images are not "static assets"?

An individual image is a static asset. If you want to use a different image, you should change the URL. This is where the "immutable" part comes in.

> So, static assets are only immutable when they don't have anything > environment specific. Oh, and static assets always don't have anything > environment specific.

Not every static asset is a build artifact, but _every build artifact should be a static asset_. This is not true in general, but it is what the whole idea of an "immutable application" is trying to achieve. The environmental bindings are pushed out to the top level, where they belong.

I agree it could have been worded better; the phrase "static asset" is a bit overloaded here.

<comment><USER2> Can you clarify, if I add a JS line to my file, I should version that JS file as a never-ever-changing static asset to be cached? It is a build artifact. And if I make a change daily (or more frequently w/ CD), have 365 of those versions (i.e. maybe versioned as date or hash)? Or should I start embedding that frequently changing JS in the pages that need it, thereby duplicating content, just to avoid breaking the rule that all build artifacts are static assets and all static assets are immutable?

<comment><USER3> > Can you clarify, if I add a JS line to my file, I should version that JS > file as a never-ever-changing static asset to be cached?

It only has to be cached as long as there exist deployments that need to reference it. But as long as there exist references to it, the content at the referenced address should not change. So yes, you should version that file -- or that deployment as a whole, if you'd rather not get that fine-grained -- but it only has to be "never-ever-changing" up to the point that nobody's observing it anymore.

If you only officially maintain one version, you'd want to keep the one prior for the sake of smooth deployment. Just document your support policy so downstream consumers aren't surprised (and they should be able to pin to an `index.html` address, generally, whose contents _are_ allowed to change over time.)

> Or should I start embedding that frequently changing JS in the pages that > need it, thereby duplicating content, just to avoid breaking the rule that > all build artifacts are static assets and all static assets are immutable?

Well, the article is about SPAs, so there's only one page by fiat. But in the general case (MPAs?), there would be a question about why that specific piece of JS must change so frequently, and whether that constitutes a dependency on the environment that can therefore be factored into the top-level.

<comment><USER2> I understand the general note about caches not lasting forever, no longer referenced files, etc.

This response skipped over the most important question "And if I make a change daily (or more frequently w/ CD), have 365 of those versions (i.e. maybe versioned as date or hash)?". Simply asked, is every generated JS file a static asset? Must the (indefinite) cache headers be present for every static asset be returned? So if I deploy a new static asset every hour via continuous deployment let's say, I must give it a new unique path? These questions apply to SPAs.

<comment><USER4> >So if I deploy a new static asset every hour via continuous deployment let's say, I must give it a new unique path?

I would answer yes to that. More specifically, if an old cached component could reference the new file and break, then the old component should never know about the new content.

</comment></comment></comment></comment></comment></comment><comment><USER5> One thing I liked to do was separate a "build" environment from a "runtime" environment. Build envs would be the standard debug and release, runtime would be dev/staging/production like usual. The runtime environment would be in window like shown here and the build environment would be baked in. After all, it doesn't make sense to flip the DEBUG variable for example, but it is very convenient to be able to change what backend you're connecting to to test something.

Also: other than index.html, it's worth putting hashes in every filename. Though you will surely run into problems when the app is updated but users are running old versions so make sure you build with that in mind. I.E. you want to be able to reload at any time without consequence, and you probably want to do it automatically when you can't find a chunk. That last part is tricky if you map all 404s to index.html :)

</comment><comment><USER6> > All of the leading application frameworks (Angular CLI, Create React App, > Ember CLI, Vue CLI 3) recommend defining environment values at compile time. > This practice requires that the static assets are generated for each > environment and regenerated for any change to an environment.

As a backend developer that relies heavily on environment variables for configuration, I was surprised that runtime configuration is not something these frameworks recommend.

In the few occasions that I have to do some front end (Angular) stuff, I had to write my own service just so that I can have runtime configuration.

Why don't these frameworks support this out of the box? Are there any issues I may be missing?

<comment><USER7> You can't have runtime configuration on the frontend because the frontend is running on the client (browser). The best you can get is build-time configuration that embeds in the SPA.

<comment><USER6> Here's an example where it can be done in Angular: [https://www.jvandemo.com/how-to-use-environment-variables- to...](https://www.jvandemo.com/how-to-use-environment-variables-to-configure- your-angular-application-without-a-rebuild/).

Not exactly the same as shell environment variables, of course. And you may disagree about exposing the `enableDebug` flag as a runtime config there.

Still it is doable, in a sort of roundabout way, using the browser as the environment.

<comment><USER7> Ah, indeed. If you count "open dev shell, manually edit globally exposed variables so that it will affect only my browser" then yes, you can have that as runtime configuration.

<comment><USER8> Yeah funny

</comment></comment></comment></comment></comment><comment><USER9> I come from a time where compiling your code, even a small one, was processor time consuming.

Back in University, in the beginning of the 90's, a teacher explained us that separating configuration from code was a good practice because you don't have to recompile your code to make several tests.

I guess it still is the case !

</comment><comment><USER10> I think it comes down to:

Make index.html the starting point, that pulls in the immutable web app, and configures it, (usually with a single endpoint URL that it would typically need).

Seams reasonable to me. I'm normally pessimistic about things like this (specifically the 12 factor app which is hopelessly one-sided to specific environments IMHO). But this is actually a useful and captured quite gracefully.

It would be nice to see some examples in each of the mentioned frameworks, and hopefully example webpack configuration specifically (since it is often used across all of them).

</comment><comment><USER11> Immutability (and the related idea of forming things in a declarative instead of procedural fashion) is a good idea generally and prevents vast swaths of possible bugs from ever occurring.

SPA's are a bad idea because 1) it greatly complicates good unit testing and requires gross things like headless browser drivers in your integration test suite, 2) it does not degrade gracefully to HTML (such as on assisted devices) 3) javascript is, at best these days, a sunny wasteland of dependency hell.

<comment><USER12> 1) Writing unit tests for a SPA doesn't have to be much more complicated than unit testing a server-side application. Integration testing is a bit hairy, but that's generally the case in many technology stacks.

2) SPAs don't have to be pure HTML to be compatible with assistive technology.

</comment></comment><comment><USER13> We do something similar to this but with server-side rendering. We build our apps with React, then we use React Router to match routes on the server and send down CSS and HTML as needed by the current route. Client-side environment variables are put on the window object by the rendered HTML, just like in this article. Then, once JavaScript kicks in, there's no configuration "bundled" into it. The configuration is just parsed from the server's HTML. The JavaScript bundle lives in a CDN and follows their definition of "static".

This is basically 12-factor [1] though. For us, this was imperative to be able to do review apps on every merge request and promote those to production without having to re-run the build. We run the exact same Docker image that ran in CI, the environment is the only thing that changes.

[1] [https://12factor.net](https://12factor.net)

</comment><comment><USER14> Suggestion: encourage the usage of SRI hashes when linking to these externally hosted assets.

[https://www.srihash.org/](https://www.srihash.org/)

These seem to neatly complement the other aspects of this proposed architectural pattern.

</comment><comment><USER15> This is essentially an opinionated take on how to deploy JAMStack style applications. TLDR is to use index.html as deployment config / manifest ONLY, and load all other assets from static unchanging resources. This kind of discipline is a little like what you might use for an optimal IPFS (content- addressed) deployment, so it's cool to see best practices converge.

I clicked through and read the article because I though it would be about Clojure-style immutable data structures, like ImmutableJS uses. Or maybe how to use databases like Datomic or patterns like CQRS and event sourcing.

<comment><USER16> I'm surprised there's no mention of Subresource Integrity. That works well with content addressable stores, provides extra verification inside of the browser.

</comment></comment><comment><USER17> Isn't this incompatible with server side rendering? Rendering the page's contents _initially_ on the server is good for performance, SEO, accessibility, etc.

<comment><USER18> Nope - works perfectly. With React/Redux you can inject the initial state into the rendered page. Subsequent calls are then just api.

See [https://redux.js.org/recipes/serverrendering#inject- initial-...](https://redux.js.org/recipes/serverrendering#inject-initial- component-html-and-state)

for ideas.

<comment><USER19> There are elements of the article that argue against that though. It argues that the index.html will be small (and thus not an issue to not cache), which will not be the case if you're server-rendering pages.

</comment></comment></comment><comment><USER20> Interestingly, this is shocking close to something we've been building for our internal dashboards. The only slight variation is that we serve the URLs of the JS from one of our backend services over CORS - because we want access to the code for the dash to be subject to authentication, so all our fraud controls etc aren't super easily visible.

So if there's no valid auth, it goes to our `service-dashboard-asset` system and requests a URL for the login app - injecting the script tags into the page, then the user can authenticate.

Then the page refreshes, the auth is present, and it goes to `service- dashboard-asset` and requests a URL for the actual dashboard, and now injects this script tag in instead.

</comment><comment><USER21> > The methodology is based on the principles of strictly separating:

> \- Configuration from code.

> \- Release tasks from build tasks.

I've built an open source product[1] that tries to address these same issues (and others). Configuration-at-build-time has _especially_ been a pain point for my company, leading to Jenkinfile-s full of environment variables. I've also solved it by injecting a global (window.APP_CONFIG in my case) into the served index.html. It would be nice if a standard could emerge for this (I could definitely see adding support for window.env to my product).

I really like the idea of using absolute URIs for assets. Having relative URIs does indeed complicate routing quite a bit, and in fact to avoid having to specify the main URL of the application at build-time I had to implement some redirect magic, which you wouldn't have when porting the app to a "normal" static server like nginx or S3. I didn't find in the docs though, how would it work for resources linking other resources? For example, a css file loading an image via @url(...), or a js dynamically constructing the src of an img element. In the css case I guess you could hardwire the static assets URL at build time. The js case would be more tricky, but maybe it's just a practice to avoid.

[1] [https://staticdeploy.io](https://staticdeploy.io)

</comment><comment><USER22> This has been a very interesting read. I've been wanting to build a single page personal website as a means of learning. I'm not a star in webdev so I have a lot of hours ahead of me.

I might actually deploy it like this, why not?

If anyone has any good book or other resources to get started in building a website like this for people who already have back-end and programming experience but lack html, css, js etc.. please reply them to me! Thank you

<comment><USER23> I have found MDN [1] to be an exquisite resource for web technologies. I only use it as a reference since I'm already familiar with HTML/CSS/JS, but I would imagine their learning documentation to be high quality as well.

[1] [https://developer.mozilla.org/en-US/](https://developer.mozilla.org/en- US/)

</comment></comment><comment><USER24> The proposed solution in "index.html contains fully-qualified references to the static assets" seems backwards. Changing resources from `./main.js` to `[https://assets.myapp.com/apps/1.0.2/main.js`](https://assets.myapp.com/apps/1.0.2/main.js`) makes the opposite of an "immutable application" in that loading the script will effectively be a side-effect and depending on other factors than just the index.html link with it's child directories.

Overall it seems like a good framework, but not making all resources self- contained + relative, seems like a step backwards in that you're locking your resources to a specific domain, which might or might not be available.

<comment><USER25> It's immutable in the sense that `<script src="[https://assets.myapp.com/apps/1.0.2/main.js">`](https://assets.myapp.com/apps/1.0.2/main.js">`) will always load the same resource whenever the page is loaded (especially if it's cached indefinitely).

Where as `<script src="./main.js">` could potentially load different versions of `main.js` depending on the release version.

<comment><USER26> And particularly, if you always host the old versions then you can rollback by updating index.html - rollbacks are otherwise hard when you start thinking about caches.

</comment></comment></comment><comment><USER27> That was an educational read, and gave me a good idea of an efficient strategy for deploying static web sites/apps.

I wonder how this could work with server-side rendered apps or pages?

EDIT: Aha, since index.html (only) is dynamically generated and can be populated with pre-rendered state and content.

</comment><comment><USER28> I would separate app config into ./config.json and then load it before rendering instead of putting everything in ./index.html.

SPA bundler would generate all files as usual. index.html would be versioned. Configs would not be versioned (except for config examples).

</comment><comment><USER29> The example on this page is really bad. Remember the time of framesets? We wrote fallback code, at least a little excuse, to all the browsers and users who did not understand framesets. There are too many "single page applications" (why don't call them "Javascript applications") which just show white space without Javascript enabled (not even to speak about ill-functional Javascript).

<comment><USER30> While I agree with you that not showing a clear message if JS is disabled on the client is bad, I would say that's outside the scope of this manifest. This is about building and deploying SPAs, not about graceful degradation etc.

</comment></comment><comment><USER31> A couple of weeks ago, I demonstrated a blog configuration for a client that was both immutable and serverless -- but you could change the design and add/modify/delete blog entries, of course.

I did a video showing off the web-app side. I'm probably going to do another one showing off the server-side stuff.

It was fun to do. The various pieces of tech are all now coming together nicely.

<comment><USER32> I'd watch those videos if you care to share them

<comment><USER31> Here you go. [https://www.youtube.com/watch?v=XUjfD55SMxc](https://www.youtube.com/watch?v=XUjfD55SMxc)

There's an AWS piece not mentioned here. Basically there's a way to hook GitHub and AWS together such that when you check items in, your website auto- updates using Amazon's SW and CDN tech. (I didn't cover that because it was outside the scope the question I was answering.)

</comment></comment></comment><comment><USER33> Shouldn't this be called "Immutable Resources" rather than immutable web apps? Sure with JS the resources make up the app, but that index.html is still mutable, so no much different from an "index.php?section=whatever".

Setting such long expiry times on the cache also sounds like a great way to pollute browser caches with obsolete resources.

<comment><USER34> "Setting such long expiry times on the cache also sounds like a great way to pollute browser caches with obsolete resources. "

Setting "forever" caching is standard practice for web development for many years. The browser doesn't really cache these forever - it is merely a hint to the browser that the resource won't change and you don't have to check it again.

In fact, the more resources you can put with such caching the better both for you and the browser's speed.

<comment><USER35> You really can't control how long something stays in a browser cache. The user can clear it at any time. Mine are cleared every time I close the browser.

<comment><USER34> Like I said the header isn't to control how long something stays in the cache. It's to control how often the browser needs to check if the content changed.

</comment></comment></comment></comment><comment><USER36> In a world of continuous deployment, one persons configuration is another persons code.

<comment><USER29> Well that's the issue with constants in general. What is constant in your problem is a variable for the problem I solve...

</comment></comment><comment><USER37> yep, more or less how approach it.

1\. build js,css,img assets

2\. upload assets to CDN under unique urls (at build time, for any build that may or may not produce a deployable container)

3\. build docker container with server that serves dynamic html referencing those assets

4\. deploy said container

Main advantages for me:

1\. easy to rollback

2\. graceful rollover, all assets any deployed container can reference will always exist, even if multiple versions are deployed at the same time during deployment

3\. immutable === cacheable forever

4\. CDN always "warm"</comment>


Show HN: Make your own beats for your videos, right here in the browser - <AUTHOR> https://strikefreemusic.com <comment><USER2> Dupe by you less than 24 hours ago [https://news.ycombinator.com/item?id=21046564](https://news.ycombinator.com/item?id=21046564)</comment>


Ask HN: Anyone suffering from ADD? - <AUTHOR>

I think I have ADD. I'm wondering if anyone here has been diagnosed and being treated. How is it working for you? <comment><USER2> Yes. I suspect that the incidence of ADD on this forum is much higher than average. The diagnostic criteria are not that high.

As far as treatment -- stimulants help absolutely everyone focus better, regardless of whether or not they have ADD. I am not exception. My personal belief is that ADD is mostly just a catch-all term for people at the lower end of the spectrum of focusing.

My advice as far as medication is to get Ritalin or Focalin or Concerta, not one of the amphetamine based drugs. Don't bother with the non stimulant drugs. Amphetamine (Adderall, Vyvanse, Dexedrine) is a very serious, hard drug to be taking every day and it can do odd things to your ability to experience pleasure.

I am prescribed twice daily short acting Ritalin 20mg, though depending on how much I want to focus I take it less often and/or in a lower dosage. If your schedule is flexible and you know you don't want to be stimulated for 12 hours at a time, then ask your psychiatrist for a short acting medication rather than one of the extended release ones.

Finally, you should always get mental health advice from a mental health professional. Please see a psychiatrist, not your primary care physician.

<comment><USER3> "As far as treatment -- stimulants help absolutely everyone focus better, regardless of whether or not they have ADD."

This simply isn't true. I've never met anyone without ADHD who has taken stimulants that enjoyed it. Anyone who is taking stimulants and enjoying it probably has undiagnosed ADHD.

"My advice as far as medication is to get Ritalin or Focalin or Concerta, not one of the amphetamine based drugs."

Bear in mind that everyone's brain chemistry is different. One man's miracle ADHD drug is another man's serious, hard drug.

In fact, statistically speaking, you're more likely to get the best results from an amphetamine-based drug. It actually gets better results than a lot of non-psychiatric drugs. That's why doctors tend to prescribe it first.

But as I've noted, everyone's different. It's not uncommon to have a bad reaction to amphetamines. That's the main reason why there's so many ADHD drugs on the market. Different people respond differently to different treatments.

Truth be told though, I take Vyvanse and it's done wonders for me.

<comment><USER4> Very true about everyone being different. When I saw first diagnosed with ADHD-I, my pschyiatrist began with Ritalin. While it definitely helped me focus more, the come downs were absolutely awful and I'd feel incredibly depressed when it wore off.

Adderall worked much better for me in this regard and the come down was much less harsh. I take 20 mg IR a day - I try to keep it down to 3-4 days a week to stave of tolerance as I'm very worried about it.

</comment></comment></comment><comment><USER5> I have a severe case of ADD, which directly impacts my programming. I was diagnosed in college and realized I've been living with it since I was around 12. I don't take Ritalin or Aderol, though my psychiatrist strongly pushed me to do so.

To deal I take Ginko Biloba. About 400-500miligrams/day. It take about 2 weeks to start impacting you and works amazingly. I don't feel like I'm drugged up all day, as opposed to when I tried other drugs to control my ADD. I suggest it to anyone who wants to take a natural approach to dealing with their memory problems. I have absolutely no side-effects from it(though some are possible).

For those people who think ADD is "just a catch-all term for people at the lower end of the spectrum of focusing", you need to take yourself down a notch and realize that ADD is a real memory problem that people like me have to struggle with every day. Please stop taking the term ADD for granted.

</comment><comment><USER6> I am.

I had about 5-6 1 hour sessions with a psychiatrist and had about 2 sessions with a psychologist before that , and they diagnosed me with inattentive ADD.

I am on twice-a-day dose of Ritalin 10mg as of the last 2 weeks. It really seems to work , I find that I am getting a lot of work done. I am suffering from slight insomnia and occasional nagging headaches though(classic side- effects).

</comment><comment><USER7> I have ADD though not severely enough that I have to be medicated. Well I have to be medicated if I don't work out about an hour a day. Daily exercise seems to settle my mind.

Bear in mind I'm nothing like some people who have to be on a regular Ritalin regiment. I was only on Ritalin for a short time before I discovered my trigger for fixing it naturally was exercise.

</comment><comment><AUTHOR> I went to the psy and their telling me I have ADD symptoms and are depressed to.

Her approach is to treat the depression first then the ADD. I'm frustrated since Is now going to take longer to treat my focus and everything related to the ADD.

Any thoughts on this treating depression first than the ADD?

</comment><comment><USER8> what is ADD? any links to explain this syndrome?

[edit] ok maybe this is what you are referring to [http://en.wikipedia.org/wiki/Attention- deficit_hyperactivity...](http://en.wikipedia.org/wiki/Attention- deficit_hyperactivity_disorder)

<comment><USER4> That's what he's referring to; specifically ADHD-I. ADD and ADHD have been merged into ADHD-I/H(Inattentive or Hyperactive)

</comment></comment><comment><USER9> I don't know if I have ADD, but I get easily dis

</comment><comment><USER10> tl;dr

<comment><USER11> why i have so many tabs open?</comment></comment>


Ask HN: Is email address the wrong choice for usernames? - <AUTHOR>

I've recently decided that I just don't care about e-mail anymore. If somebody really needs to talk to me, they can call me, SMS me, or instant message me. There's nobody in my personal or professional life who does not have access to these three forms of communication.
That being said, I'm starting to doubt the usefulness of E-mail itself. I've decided to run an experiment, and am deleting the MX records/disabling inbound mail processing for my primary email domain for a week or two. The only caveat here is that I've found some sites will lock an account, or at least nag you to death if they are unable to email you.
I used to be in the camp of "everybody has an email address, it's the perfect UUID". Now I'm not so sure. I'd like to live without email, because some combination of spammers and relatives have long-since made email a miserable experience.
What do you think? Email as a username, or not? <comment><USER5> I think email is still somewhat necessary. First of all, you aren't everyone, just because email isn't useful for you doesn't mean it's not useful for your users. Second of all, most web apps require an email address to sign up, if for no other reason than to send a forgotten password reset. So even all those kids who really don't have a use for email still have an email address to sign up for things like Facebook. Speaking of Facebook, this service and others have a lot of resources to research these sorts of things, and they still use email as a signup.

As a user, I prefer when a service uses email for usernames. One reason is that I can remember my email address, even if I don't use it. Often I forget the usernames that I use to sign up for various services. The other reason is that I know my email address is going to be unique, so that saves me from playing the "username is already taken" game.

I don't really have a problem with spam or known email users who are over active. Gmail does a pretty damn good job of filtering the spam. Custom filters do a good job of clearing things that aren't really spam but still annoying.

</comment><comment><USER6> Email as a username has its advantages and it has its drawbacks:

      - <USER2>

        - <USER3>

        - they change

        - they get hacked, which in turn means your accounts have been hacked

      - <USER4>

        - easy to remember

        - immediate conduit to your user

        - automatic recovery built in (see drawbacks)

        - built in verification of identity (somewhat) of user

It's a tough choice. We used to use email addresses but of late we have switched to simply allowing people to pick a unique nickname.

The deciding factor was the fact that more and more people perceive giving their email address to a service as a serious barrier to participation.

</comment><comment><USER7> I have enough RSI that I don't do SMS or instant messaging. If I wanted to talk to you, but it wasn't worth a phone call, I'd punt.

My solution to many of the general set of problems with email you cite was to get a Fastmail account (<https://www.fastmail.fm>), which does a fantastic job of spam filtering and would allow you to filter the email from those pesky relatives.

And as gexla notes, you must have _a_ working email address to do a whole bunch of things on the net.

<comment><USER8> To comply with RFC2142 you must have an firstname.lastname@example.com email address which goes to an appropriate recipient(!) - <http://www.rfc-ignorant.org/policy- abuse.php> .

But you're not required to care.</comment></comment>


Andrew Chen: Do you ever say, "MySpace is sooo ugly?" This blog's for you... - <AUTHOR> http://andrewchen.typepad.com/andrew_chens_blog/2007/11/do-you-ever-say.html <comment><USER2> Why is MySpace popular? Why is trashy tv popular? Why is McDonald's popular?

Wait wait wait wait...

You mean geeks really don't get what most of average folks want but are snobby shits about it? Wow! Here in the valley that's called echochambering.

<comment><USER3> I'm kind of glad that myspace is so ridiculously ugly. Design best practice snobs need an abrupt wakeup.

</comment></comment><comment><USER4> "But the rest of the world is not like us, and that's the problem."

That's why analysis is still more important than development. Doesn't matter how slick it is, it HAS to be something people want. If you don't know what that is, ask.

I could cite many examples of great products that we loved and nobody bought, but I forgot them already. (That's the whole point.)

<comment><USER3> I can give you many examples of people not knowing what they want.

Better to measure than to _ask_. Critical difference.

<comment><USER4> Better to ask first.

Problem is that systems analysis is a lost art. People don't know HOW to ask.

People know what they want. They just don't know that they know.

Here are just a few to the things you have to do (that almost no one does anymore) in order to elicit requirements:

\- Spend time with users doing what they do, asking questions until you understand how things work. If this means sitting at their desk, following them around their office/factory/route, or wading hip deep in <whatever>, then DO IT.

\- Ask questions to groups of people at the same time, so they can argue with each other and learn together what's really needed.

\- Ask lots of "Yes/No" questions.

\- Ask lots of "On a scale of 1 to 10..." questions.

\- Ask lots of "What is the probability that ..." questions.

\- Cover the wall with paper and draw pictures of EVERYTHING. Leave the paper there for all to see for weeks. Let them understand and learn together.

\- Put every piece of paper they use in their jobs (or personal life) on the wall, so they (and others) can really see what they have to deal with on a daily basis. Not blank sheets, but paper with real data on it.

\- Identify every data element. How do you know when you're done? Keep asking until there are no more answers.

\- Feed people while you ask them. (Amazing how smart people get while eating pizza.)

\- Then (and only then) give them a prototype to play with. (I suppose here is where your "measure" comes in to play.)

\- Exactly right? No? Keep going until it is.

Aside from the prototype, we haven't written a single line of code. Is this hard? Absolutely. Maybe that's why most of us don't do it anymore. Does it work? It you know what you're doing: every time.

(Aside: Notice I never mentioned using crap like Rational Rose or UML. That stuff was never meant to help this process. It was meant to make people who don't know what they're doing appear as it they did. Built an industry by paying junior people $50k and billing them out at $250/hour.)

<comment><USER5> This is very helpful, thanks!

</comment></comment></comment></comment><comment><USER6> Yes. Yes. I love you. Yes.

This is actually a large part of the tech talk I plan on giving on justin.tv. It's a symptom of a much bigger problem in the valley.

</comment><comment><USER7> Don't put down aesthetics in the name of MySpace. It's simpyl a weak argument to make. I explain here: [http://jtame05.wordpress.com/2007/12/01/when-you- grow-up-des...](http://jtame05.wordpress.com/2007/12/01/when-you-grow-up- design-matters/)

<comment><USER8> At least Myspace knows how to handle their 404s.

</comment></comment><comment><USER9> myspace is gorgeous.

</comment><comment><USER10> > This is how they want their profiles to look.

This doesn't take into consideration that profile layout is a pain in the ass and most people don't want to deal with the mess of CSS.

MySpace layouts tend not to be what people _want_ , just what they _settle for_. As it is, it's too much work to get it the way you want it.

<comment><USER11> It's why there are so many MySpace layout creation websites. If MySpace was well-designed, there would be no need for those other sites.

</comment></comment><comment><USER12> Andrew chen I agree, teen market is quite difficult to tap

<comment><USER13> Half the myspace users are over 35:

<http://www.comscore.com/press/release.asp?press=1019>

<comment><USER14> How many are pedophiles?

<comment><USER15> Less than half, but more than the number of bogeymen.</comment></comment></comment></comment>


The Nine Eyes of Google Street View - <AUTHOR> http://www.artfagcity.com/2009/08/12/img-mgmt-the-nine-eyes-of-google-street-view/

<comment><USER2> _The world captured by Google appears to be more truthful and more transparent because of the weight accorded to external reality, the perception of a neutral, unbiased recording, and even the vastness of the project. At the same time, I acknowledge that this way of photographing creates a cultural text like any other, a structured and structuring space whose codes and meaning the artist and the curator of the images can assist in constructing or deciphering._

Oh, humanities majors -- you guys are so silly.

<comment><USER3> Don't worry, most of us get over it and eventually start talking like normal people again. Even when we're talking about art.

</comment></comment><comment><USER4> What a pretentious writing style

</comment><comment><USER5> I like to go back to places I lived long ago and "look" at streets that were once familiar - and see what's left of that, and of my own memory.

Also interesting is the places that _aren't_ part of the Google agenda, whatever that is. The place I grew up has no photographs at all. But the photos of the place I'm living are constantly telling me about things I haven't seen. So - did I ever see the place I grew up?

</comment><comment><USER6> Can someone tell me what the actual insight here is? Maybe I'm just simple minded but I always thought the value of art was to give people an insight into the human condition and the value of essays on art is to clarify that insight for those who might not see it.

This author just seems to enjoy going around and around in rhetorical circles with no purpose other than to hear himself speak.

<comment><USER7> "This author just seems to enjoy going around and around in rhetorical circles with no purpose other than to hear himself speak."

I think that's also one of the purposes of art isn't it?

</comment></comment><comment><USER8> Interested in doing interactive photography?

<http://openviewproject.org/>

DIY+OSS FTW.

</comment><comment><USER9> Google employess used Comic Sans. Burn that banner!

</comment><comment><USER10> beautiful pictures there. the write is quite right about the cultural and historical implications of google streetview. i wonder if there will be a street history in 10, 20, 50 years time...

</comment><comment> onreact-com Is there actually a rape victim on display? I mean the naked woman laying on the sidewalk? That's awful.

<comment><USER11> Happily, no. If you load up the address in street view, you'll see that she, like a few other people on that stretch of sidewalk, is just sunbathing. (And not naked, for that matter).</comment></comment>


Ask HN: Approaches to encourage girls to choose software engineering? - <AUTHOR> I've been asked to give a speech to 600 girls between the ages of 12-19 in Kathmandu, Nepal about why they should choose software engineering as a career.<p>Have you heard of any great speeches, videos or methods that I could use to suggest the career path to those who have no concept of the industry? <comment><USER2> I would agree that telling them to choose software engineering is the last thing you want to do. Instead I would suggest you tell them about how computers touch the lives of everyone on the planet, from research to pacemakers, from entertainment to manufacturing. And show them that computers have become so pervasive, in so many things, understanding a bit about how they work and especially about how they are programmed, will be helpful in what ever career they pursue.

Software engineering is the process by which a computer is enabled as a force multiplier in your quest to achieve your objectives and goals, stay focused on the goals. The ones that find software engineering interesting will continue on in that.

As a point of reference, none of my daughters wanted to be software engineers but they all appreciate that working in their fields of interest (physics, biology, and literature) requires they understand how computers are programmed.

</comment><comment><USER3> I am a woman. I was a homemaker and mom for two decades. At one time, I wanted to speak 6 languages and be a translator. That dream did not pan out. I feel better about it since learning a little HTML and CSS.

I am very social and I had fantasies that speaking multiple languages would allow to talk in depth with many people. I learned HTML and CSS to code my own websites back before we had things like BlogSpot. Learning a smattering of code allowed me to reach far more people than learning a smattering of German, French and Greek.

What do these girls dream of? Being moms without being trapped in poverty? Computers are a pathway to having what you want. Find out what they dream of and help them see that this path will open more doors for them than most other paths. Try to connect the dots for them, if at all possible.

</comment><comment><USER4> Typically, having good reasons would precede encouragement.

Why should they choose software engineering as a career? Isn't it a miserable occupation for many without independent interest in the field? Don't many end up regretting it, having been goaded into it by overbearing parents, the promise of financial security, or a political movement to redistribute power from one faction to others? Doesn't the practical argument, that it's a good job, get weaker with each CS degree newly awarded?

Writing software will become a necessary skill for people with primary knowledge of other domains. The market is soon to be super-saturated with generic "software engineers," most of them unprepared to do anything more than plumb Java business software or glue together knick-knack web apps. I would encourage these children to find an interest in the world at large, and let the software follow if needed.

</comment><comment><USER5> Not a big fan of "we need more of X demographic in Y field" stuff but if I were giving a talk of this nature I would try to cover these points:

1) What the field involves - in this case I would say problem solving. Give some examples of the problems one solves when programming.

2) Cool things about the field - I would try to show a few examples of the wide range of things you can do with programming, and how it can amplify your ability in whatever field you are interested in.

3) The economics - oh btw it pays well on average compared to many other fields. This should be a last point but it is important.

Just expose them to what the field is and you will have done a great service. No need to hard sell it.

</comment><comment><USER6> Well, this may not be exactly what you're looking for but I'll share anyway.

I'm a dad of three younger girls (10, 7, and 2). The 10-year old has tons of friends over all the time from her school and dance class. They compete to see who can do the best on their math/STEM homework.

I'm also an employer at a technology company where we didn't have any women full-time until employee 20 or so (save a temp or two). Now we have 8 women, three in technical positions. They fit in great.

Anyway, the best thing I've found is to just give them the same opportunities and to challenge them. For example, we throw math and science trivia games up on the Apple TV and play as a family or with friends. They have fun and it's helped a ton with their math skills.

Also, I volunteer as a Lego Mindstorms coach. My girls don't participate yet but about half the team of 8 are girls. They all love it. A couple were shy at first but it helps that the other coach is a woman. We've had one or two girls that were really shy and didn't want to participate in the formal Lego matches. I casually talked to their parents one-on-one about how we could help those individual girls and we decided to just have them come "watch." Within like 10 minutes those girls joined right in and did great at the matches. I'd say they're some of the smartest on our team.

Same thing with the ladies at work. Two of them have become leaders and two of the others are working their way there.

It's been a matter of finding their talents and letting them go down that path exploring tech and supporting them by giving them CBT Nuggets or Plural Sight subscriptions. They go home at night an learn, explore, and practice.

The only thing I've really noticed is that if a woman tries to "put her foot down" they can be seen as brash (or worse) especially by male engineers. Where if a man does it he's seen as a leader.

I'm not sure how to handle that yet, but a smile goes a super long way.

EDIT: Typos...

</comment><comment><USER7> If I were in your position I would research the cultural expectations placed on women in that country and, if applicable, explain how a career in software engineering would give them opportunities to have a better life.

</comment><comment><USER8> Instead of trying to encourage some one to do something why don't we let economics do it. Software pays more money more people are going to do it.</comment>


A virus could increase lithium batteries capacity by 10x - <AUTHOR> http://www.fastcompany.com/1708167/how-to-make-lithium-batteries-last-ten-times-longer-incorporate-a-plant-virus

<comment><USER2> The biggest winner of this, should it come to fruition, would seem to be electric vehicles. Electronic devices would surely prosper, but further miniaturization of smartphones doesn't really seem desirable, so it would go towards increased computational power and battery life. EVs, on the other hand, derive a double benefit: By shrinking the battery, you reduce weight, which increases range and efficiency, which reduces the requisite battery size, etc. The end product would be much cheaper and much more efficient. Having an economical EV that could get 1000 miles to a charge for the price of a Civic would be huge.

<comment><USER3> Battery life in smartphones is rather marginal today. With light to moderate use it's still necessary to charge smartphones every day and there's no guarantee that your battery won't run out. Changing that equation such that average battery life is on the scale of weeks instead of a day or hours is quite significant, enabling people to use smartphones in new ways they would not have before.

But yes, electric vehicles are definitely the most in need of higher energy density batteries.

<comment><USER4> _ahem_

My Nokia regularly goes a week without a charge with light usage.

(I've heard tell the power management in the Symbian kernel far outstrips the competitors, which probably explains it.)

<comment><USER5> It depends on how much or little the phone is doing, doesn't it. How much of that time is it connected to wifi? How much data transferred? How many background apps are you running? Do they use location services, orientation sensors, light sensors, etc.? What size is the screen, and what is its power output?

Etc.

<comment><USER4> It's true, I put it through pretty light usage, with a meg or two data over wifi a day, a few texts and calls. Still gets 2x the life of any other phone I've ever had my hands on though, no matter how light I used them.

</comment></comment></comment></comment></comment><comment><USER6> I can't be the only one that hates the word "automagically." I don't see anything magic - he's explaining it right there and "therefore" or something similar would have worked fine.

<comment><USER7> People seem to substitute it for "automatically" as they please, and I find it annoying as well.

But I'm in the seemingly tiny minority that cringe when they see "begs the question" misused, "should of", etc. Most people don't seem to care about these things.

"I know this seems like a semantic quibble, but words mean things."

One of my favourite quotes, no idea where it's from.

<comment><USER8> Does `should of' have any meaning? To me it seems like a typo of `should have', but I am not a native speaker.

<comment><USER9> should've (contraction of should have) and should of have similar pronunciation, so using "should of" in writing is a somewhat common mistake.

</comment></comment></comment></comment><comment><USER10> There seems to be news about new and revolutionary battery technologies that will increase capacity N-fold every few weeks. I have more or less stopped reading about this, as none of the ideas ever seem to make it to the market. I prefer to be ignorant of emerging battery tech, and would rather be pleasantly surprised if anything of this actually turns into a product :-)

</comment><comment><USER4> Perfect timing. I was only just discussing battery technology with some friends, who believe batteries cannot possibly grow to capacities larger than we have today on the basis of 'gee, they haven't grown as fast as other technology in the past 100 years'

No faith in scientists, I tell you.

<comment><USER11> You reminded of a sort-of related quote: When an expert says something is possible, they're almost certainly right and when an expert says something is impossible, they're almost certainly wrong.

<comment><USER12> Except if the expert in question is a physicist; rigorously determining exactly what is impossible, and why, is basically their job.

<comment><USER13> Well, yea, under the assumption that the current theory is complete and right.

There are quite a few examples in history where great physicians have been wrong.

Maybe todays physicians are more careful because of that but let's see how radical the view on our universe changes in the future.

<comment><USER14> physicist = a scientist who studies or practices physics.

physician = doctor.

<comment><USER15> Says you.

<comment><USER11> Nope:

<http://dictionary.reference.com/browse/physician>

<http://dictionary.reference.com/browse/physicist>

</comment></comment></comment></comment></comment></comment></comment><comment><USER16> Given that Li batteries are packing enough power now to be considered unsafe and "explosive" in some cases, imagine what would happen if their capacity was increased 10 times. I've started thinking conservatively about battery capacity - it's the chips and software we should redesign, not only the batteries.

<comment><USER17> If batteries are considered unsafe and "explosive", how do we rate gasoline?

<comment><USER8> Outside the movies, it's quite hard to get an explosion with gasoline. Total energy density isn't the only factor. And that applies to batteries as well.

<comment><USER17> Sure, we wouldn't be using gasoline if it weren't already pretty safe. I'm just saying, before we call something dangerous, we should remember what the alternatives are.

</comment></comment></comment></comment><comment><USER18> Every now and then there's news about radically improving battery lifetime. I'm skeptical. Wouldn't the organic cell structure of the TMV decay over time?

<comment><USER19> Well, as a virus it doesn't have "cells" in the standard biology sense. The nanostructures might be vulnerable to decay, but since (I think) the relevant bits are the outer coat, I'd think they're pretty sturdy. I suspect the longevity is one of the easier barriers to commercialization.

</comment></comment><comment><USER20> The one thing that popped in my mind when reading this was "poor viruses, they put electric charge on them". :) Now it's clear that a virus is so simple that it's not even clear if it can be considered alive, but what if something similar was devised with bacteria? Where would we draw an ethical line? :)

<comment><USER21> When it starts to defend itself against us. Of course it may be too late by then (for us I mean).

<comment><USER22> But then it would be the 'evil bacteria' that was attacking 'innocent humans.'

</comment></comment></comment><comment><USER23> wow, i'm all for better batteries, but that's a lot of viral mass we're talking about. what are the potential consequences of producing tons of viral matter?

are we already doing this?

and on a related note, i wonder how much viral mass a human gets when he/she is sick from a nasty flu.

<comment><USER24> I guess the batteries will come with a warning: Do not disassemble battery near tobacco plantations.

Relevant question: To recharge them, will you have to feed them?

<comment><USER25> _Relevant question: To recharge them, will you have to feed them?_

No.

Viruses do not have any sort of metabolism. They drift until they get into an appropriate target cell, at which point they hijack it and make it make more viruses. Therefore they do not need feeding at the best of times.

However in this case the viruses are being used as convenient particles that will stick to the electrode. We do not care about the health and well-being of the viruses at all.

<comment><USER24> Oh, true, I didn't realise they were viruses. Here's hoping we see a commercially viable implementation soon, then!

</comment></comment></comment></comment><comment><USER26> I thought electrode surface area related to recharge Time, not capacity? Its a current-density thing.

</comment><comment><USER27> Original article: <http://www.eng.umd.edu/media/release.php?id=71>

Video: <http://www.youtube.com/watch?v=P8L-ur4masU>

</comment><comment><USER28> So, if the batteries have 10x the capacity, what is the charge time?

</comment><comment><USER29> Yay! Looks cool! Now to wait 20 years for it to be implemented commercially.

</comment><comment><USER30> After much deliberation from top management we have decided that the 10x lithium battery device must be brought in on-time and under budget. Sincerely, Thaddeus Plotz.</comment>


C++ -- Using STL library to binary search for greatest  - <AUTHOR> http://www.swageroo.com/wordpress/c-stl-find-last-number-less-than-or-equal-to-a-given-element-in-an-array-or-container/

<comment><AUTHOR> Article title cut - Using STL Library to binary search for greatest item less than or equal a given item.</comment>


Ask HN: An inexpensive way to find my father (with Alzheimers) if he gets lost - <AUTHOR> Looking to find a reasonably priced solution to find my father (who has alzheimer's) if he gets lost. Some info:
* He's 75, lives in urban Vancouver, in his own apartment in an independent-living seniors centre
* He doesn't have or want a smartphone
* He hasn't gotten lost yet
* He's pretty stubborn and probably wouldn't wear something he knew was for this purpose
* Battery consumption is important, as I'd have to do the recharging for him
First thought is a "normal looking" smartwatch with GPS and mobile data. I can program Android, so could make a custom app that pings out his location on a timer, or listens for a push and then send out his location.
Maybe use SMS only with a pre-paid sim?
Any recommendations on the best watch? Alternative to mobile data?
Other ideas? I see there are shoe insoles as well...
Thanks <comment><USER2> Have you talked to any Alzheimers groups or associations? They probably have discussed this problem.

</comment><comment><USER3> Find My IPhone?

<comment><AUTHOR> He doesn't have a smartphone and refuses to use one anyways, but thanks</comment></comment>


Jekyll 1.0 Released - <AUTHOR> http://blog.parkermoore.de/2013/05/06/jekyll-1-dot-0-released/ <comment><USER2> Glad to see Jekyll development resume -- bravo! For those who prefer Python over Ruby, be sure to check out Pelican, version 3.2 of which was recently released. Bountiful themes, plugins, and a very active community: <http://getpelican.com/>

<comment><USER3> How is it functionally different from jekyll?

<comment><USER4> I recently moved my blog from Jekyll to Pelican and wrote about it [1].

Functionally some of the differences I found are:

* Jekyll output directory structure has a one-to-one correspondence with its input. While Pelican tries to standardize it for you e.g. static files go to one folder.

* Pelican has built in support for theming. Jekyll makes no such distinction between your theme and content.

* Pelican has a much more modular architecture since it can supports multiple inputs like reStructuredText/Markdown and multiple outputs like PDF

Anecdotally, I found Jekyll to be a bit slower than Python for building my blog.

[1]: <http://arunrocks.com/moving-blogs-to-pelican/>

</comment></comment></comment><comment><USER5> It would be lovely if, on these announcement posts, there was a one-sentence blurb that said what the product actually _is_.

<comment><USER6> Well if you're on hacker news and you don't know what jekyll is you're probably in the minority.

<comment><USER7> I imagine most HN people do know that Jekyll is a static blog generator written in Ruby, which is used by Github pages. However, he has a point that I often up on open source release announcements, and I don't know what the project is about, and there isn't an obvious link to the that information.

<comment><USER8> I believe Google has solved this problem pretty well

<comment><USER9> It's really advice to the coder on spreading word about your project. If you _want_ people to dig into it, help them. Don't make them go on a wild goose chase figuring out what the thing is in the first place. If you don't have a reason to care about something in the first few seconds, you'll move along and look at something else that is shiny.

</comment></comment></comment></comment></comment><comment><USER10> I love using Jekyll to generate my blog, and I host it in an S3 bucket making it extremely cheap and easy to serve.

Lately I've been wanting to revive all of my old digital photos and put them online. I'm considering using Jekyll to make an online gallery of photo albums hosted on S3 as well. This might turn into my next side-project. Has someone done something like this before?

<comment><USER11> I made <https://github.com/ggreer/jekyll-gallery-generator> because I couldn't find anything. It's rough around the edges but good enough for my usage. With some tweaks to the templates and CSS, it can look nice: <http://geoff.greer.fm/photos/>

</comment></comment><comment><USER12> Jekyll's all well and good but after a lot of deliberation I settled on Nanoc[1]. Most of the static generators seem much of a muchness, at one point I was almost ready to roll my own in python with Jinja2.

[1] - <http://nanoc.ws/>

<comment><USER13> Also, I can't resist but to mention hakyll[1]. I switched from nanoc to hakyll[2]. The two of them are great to use.

[1] - <http://jaspervdj.be/hakyll/>

[2] - <http://yannesposito.com/Scratch/en/blog/Hakyll-setup/>

</comment></comment><comment><USER14> Awesome!

Any idea when GitHub Pages will start using 1.0 (or are they using it already?). Really want to start using that gist tag ASAP (copy-pasting the <script> embeds is a bit of a pain).

<comment><AUTHOR> Hey avolcano! Tom is going to try to push it out soon, but I can't say whether it'll be this week or maybe the end of the month!

<comment><USER15> It seems that Tom pushed it out! :)

gem 'jekyll', '=1.0.0'

<https://help.github.com/articles/using-jekyll-with-pages>

</comment></comment></comment><comment><USER16> This is great news :) I generate my own personal site with Jekyll, but I'll also have to update my tutorial (<http://learn.andrewmunsell.com/learn/jekyll- by-example>) with some of the new stuff... The scaffolding command will definitely be great to get new users started.

The new site looks much better, too! There's definitely a lot more, useful documentation.

<comment><USER17> Remove the pay wall so I can see the guide

<comment><USER16> You can read the entire main tutorial for free ([https://learn.andrewmunsell.com/learn/jekyll-by- example/tuto...](https://learn.andrewmunsell.com/learn/jekyll-by- example/tutorial)). I have some additional stuff on there for those that want it, but the actual Jekyll tutorial is there.

<comment><USER18> I'm sorry about that guy's response, I really appreciate your guide. It's fantastic.

<comment><USER17> I am not saying it is bad but when I click the link the first thing I see is a pay wall.

<comment><USER19> You just have to scroll down a little beyond the "Buy Now" box. The tutorial is just below the fold.

</comment></comment></comment></comment></comment></comment><comment><USER20> I'm a huge fan of Jekyll. Two things I'd love to see pop out from the community:

1) Online Editor. I know there is Prose.io, but it requires me to host on GH pages. I like hosting on S3. parkr, I'm guessing Cornell is using some sort of backend to edit posts/pages?

2) An iPhone app that allows me to upload photos or write posts.

<comment><USER21> Prose.io does not require GH pages. You can use post-commit hooks to clone, build, and deploy your site to S3 (or anything else). I've got a quick example of it here: <https://github.com/adelevie/iron-publish>

</comment></comment><comment><USER22> Strangely Middleman wasn't mentioned here as a alternative yet, so I'll do it: <http://middlemanapp.com/>

With its 'blog'-gem nex Jekyll features like excerpts and support for timezone-config have been implemented for a while.

<comment><USER23> I have much preferred Middleman now for about six months. To be honest there would need to be a significant difference to convince me to move.

</comment></comment><comment><USER18> As someone currently, as in, right at this moment, converting their blog to Jekyll/Octopress. Is there any reason not to simply use Octopress?

From my research over the past couple of weeks, it seems like Octopress is basically Jekyll with a bunch of plugins and niceties.

<comment><USER24> I started out using Octopress but in the end chose to go just plain Jekyll and borrow from Octopress only the things I needed. I'm pretty happy with my decision.

Ultimately, you just need to look at the feature-set of Octopress and decide if you actually want those things (custom theme, Disqus and GA integration, etc). If you do, great, if not, it's probably going to get in the way more than help.

<comment><USER18> Do you mind if I ask which parts of Octopress you found most useful?

<comment><USER24> Mainly parts from two of the rake tasks: 1) to create new posts 2) to deploy to Github pages

</comment></comment></comment></comment><comment><USER17> How will this affect octopress?

<comment><AUTHOR> Octopress will be updated to use Jekyll 1.0.

</comment></comment><comment><USER25> How do you guys generally setup commenting feature with Jekyll? Do you use an external commenting service or is Jekyll able to handle it alone? (maybe through plugins?)

I know Jekyll is in the domine of static website generators, but it also says it's "blog aware" so...

<comment><USER26> 1) Use Disqus/LiveFyre

2) Using GitHub issues (or some other role-your-own system): [http://ivanzuzak.info/2011/02/18/github-hosted-comments- for-...](http://ivanzuzak.info/2011/02/18/github-hosted-comments-for-github- hosted-blogs.html)

3) Go without comments - your blog is YOUR space on the web, if others want to respond, let them do it in their own space

<comment><USER27> 4) Use <https://moot.it>

<comment><USER23> +1 to this.

I have been using moot since a few days after the beta. It is absolutely fantastic. Great support, too.

</comment></comment></comment></comment><comment> why-el I'm following the master branch and have been using some of the new features in some of my sites. There has been a lot of work to try and modularize Jekyll. Great job Parker, Tom, et al. Hopefully I will find some time to contribue.

</comment><comment><USER28> In all of the Jekyll vs. X comments below, I think an important selling point of Jekyll is being missed:

 _It is built-in to Github Pages_

This saves you the trouble of re-generating the site on your local machine and pushing it to a host.

<comment><USER29> also for organization projects we can allow anybody on the team to edit and post directly from github's web interface.

<comment><USER28> That's a great point. For collaborative blogs, using Jekyll/GH spares you from having to sync permissions between your source control and your web host. That's big part of why we used Jekyll for SeattleHacks[1].

[1]: <http://SeattleHacks.com>

</comment></comment></comment><comment><USER30> As a newbie just learning ruby/html, can someone explain to me how would Jekyll help me build a small static website for a small company? how does it differ from bootstrap?

<comment><USER31> A lot of blogs (most blogs?) are database-driven websites whose content is stored in a database. A server serving static webpages will enjoy better performance and static webpages are simpler to manage in many ways. However, some of the benefits a CMS gives you like auto-generating headers and navigational aids, etc, are missing if you just write some straight HTML yourself. So a static content generator can read your blueprint for the website layout and generate the webpages for you, and they don't have to be pieced together on every request they way they are with a CMS like Wordpress. Anytime you have new content to add, you can just add it to your files that you feed into the static content generator and it builds all the webpages of your entire website for you once again. I'll reiterate that the server doesn't have to waste any time processing the files to send them down to your browser --essentially, they're already complete and ready to serve down to you.

Bootstrap is basically a CSS framework. Your generated static files have normal HTML in them, and they could be using Bootstrap for the styles just like any other webpage.

<comment><USER30> Thank you.

</comment></comment></comment><comment><USER32> Great job!

I haven't used Jekyll in quite some time, but just reading about an update makes me want to take another look.

Side note: the link to the Cornell website is missing the "u" at the end.

<comment><AUTHOR> Please do! And let us know if you have any questions. We're reachable on Twitter and we have an IRC channel I hang out in.

Fixed the link, good catch. Thanks!

</comment></comment><comment><USER33> I as well love jekyll. I wonder if it can stay in step with the hopes of the node Ghost project?

</comment><comment><USER9> I can only assume that Jekyll is only targeted at people who already know what it is/does, because I read everything visible on that page before the break, and have no idea what it is. Oh wait, there are hints about it being about "blogging" and "posts" and "tags" in the feature list.

</comment><comment><USER34> What do you guys do for pushing blog updates to Twitter? An RSS crawler?

</comment><comment><USER35> The new website looks slick !!

<comment><USER36> And to top it off with meta-deliciousness, the website is Jekyll-based so you can see browse the source!

<https://github.com/mojombo/jekyll/tree/gh-pages></comment></comment>


French Government Seeks To Charge Google 1 Billion Euros in Taxes - <AUTHOR> http://www.nasdaq.com/article/french-government-seeks-to-charge-google-eur1-billion-in-taxes---report-20121031-00120#.UJEf87Td6-I

<comment><USER2> When you owe someone 10'000 Eur you have a problem.

When you owe someone 1 Billion Euro, _they_ have a problem.

With the european regulation protecting interstate commerce, the Double Irish even with a Dutch Sandwich seems legally fine. It will take multiple lawsuits to try to do anything against it.

Note to north american readers- there's a huge political effort in europe, instrumented by the french and german government, to create a new kind of copyright for indexing new articles, ie arrange a special tax scheme to divert money from search engines to the european media companies.

It's just yet another case of entitlement from companies whose business models have mostly been made obsolete.

So this news seems to be just part of the smear campaign, maybe to put more bargaining chips on the table and strongarm google into accepting this. The lows in google stock also frequently made the news these last few weeks - it's more than a coincidence when you consider the emerging difference between french/german newspapers and other news sources on this same fact, and who owns the newspaper.

Good luck to France- she will need it to pull something out of so many shenanigans.

(But deep inside me, I'd love to see the negotiations break, with google removing all french newspaper from google news and see how long the european media companies will last before giving up in their stupid demands while other french-language news source eat their cake - from Quebec or North Africa. That would send the right message to the government - stop messing with the economy)

<comment><USER3> The production of news content -- like aid to the destitute or the military -- might be an obsolete business model but is still an essential social good worth protecting.

<comment><USER4> Just because we don't want newspapers subsidized by the government doesn't mean we don't value news content. This is a fallacy that statists have been making for centuries-- you're confusing the values of society with the values of government.

<comment><USER5> The issue is that without the state to subsidizing it and if the content is freely available through other intermediary companies, then there is no apparent way to cover the costs of media production.

When you write what appears to be "I think all currently viable options for funding serious news production are inappropriate", then it doesn't sound like you value news content. That is honestly an attempt to not strawman you, just a (perhaps confused) understanding of your seemingly untenable position. If an alternative to state funding is viable while still allowing free aggregation and distribution by arbitrary third parties, I am definitely interested in it.

<comment><USER6> Then don't make it freely available. If your content is so valuable, paywall it.

<comment><USER5> You wrote 10 words, but I'm going to reply with a wall of text anyway. I believe the value being discussed above is the value to society of having a well educated populace, which is notably different than the perceived economic value to any individual; the main justification for taxes existing in any form is that there are many cases where people spending their money without intelligent self interest is for the best interest of everyone, _including themselves_ (it's trivial to show how this can be true, see the prisoners dillema).

Having an educated populace has enough value that we have public schools; I don't see how informing adults is any different.

Note that I think there are also a ton of unrelated recent societal changes that make it not economically feasible for the news to be behind a paywall; notably that recent shifts that have dramatically reduced cost of publishing and aggregating have made it extremely easy to republish other journalists work trivially. All you need to do is have a subscription to the NYT paywall and one guy getting paid shit to reword their articles; to any other user they will choose the free content that has the same core information that the other site could never have afforded paying for investigative journalism. Patents on reporting facts are obviously untenable, so I see no real option other than the state supporting the media.

</comment></comment></comment></comment></comment></comment><comment><USER7>
      France for the past four years, weekly newspaper Canard Enchaine reports Wednesday without citing sources.

Er, Canard Enchaine is a satirical paper. Quite good, usually, in annoying politicians.

I would read this news with a barrel full of salt.

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

EDIT: Added Wikipedia link

<comment><USER8> While satirical, they specialize in investigations, especially related to insider knowledge and whistle blowers. Only the tone is not serious, the content is alway backed with proofs.

Le Monde, an authoritative newspaper as well as others picked up the news too [1]

The Google News issue seems a different matter, the billion in question is due to an (alleged) tax fraud using the technique of the Double Irish with a Dutch Sandwich [2]

[1] (fr) [http://www.lemonde.fr/technologies/article/2012/10/30/le- fis...](http://www.lemonde.fr/technologies/article/2012/10/30/le-fisc- francais-pourrait-reclamer-un-milliard-d-euros-a-google_1783397_651865.html)

[2] <http://en.wikipedia.org/wiki/Double_Irish_arrangement>

<comment><USER9> How is that a tax fraud if it's legal? One of the goal of the EU is the ability to operate a business from one member state to another without any taxation or customs fees. So asking Google to pay these is ridiculous.

<comment><USER10> The goal is allow businesses to operate between member states as easily as within them, which includes preventing _double_ taxation. The Double Irish thing is exploiting a loophole created by the combination of such EU regulations and peculiarities of the Durch and Irish tax codes, to effectively avoid taxation entirely, which may not be against the letter of the law, but certainly against its spirit.

It's quite possible for such things to be retroactively declared invalid, such as in the case of Hoolywood's "stupid German money": [http://usatoday30.usatoday.com/money/media/2003-08-11-hollyw...](http://usatoday30.usatoday.com/money/media/2003-08-11-hollywood- germany_x.htm)

<comment><USER11> This is true, but Google is hardly the only company using these loopholes in the EU. It makes little sense to make them an example, unless you were also trying to pressure them on another front (newspapers).

<comment><USER12> Why not go for the best biggest payday and make a lesson for everyone else to fall in line?

<comment><USER13> well, at least Apple and Microsoft would make for bigger paydays, and I'm sure there are more. Apple obviously has far higher revenue and profits, and they earn the majority of both abroad.

It is possible they'll go for all the big players, though, who knows.

</comment></comment></comment></comment></comment></comment></comment><comment><USER14> The newspaper-linking tax seems just plain stupid to me. Can't the newspapers just ask Google to remove their content if they don't want it being used for free? Am I missing something about how Google News operates?

France's newspapers are suffering the same as newspapers anywhere, but France is more than willing to prop up a failing industry any way they can instead of forcing them to modernize.

<comment><USER15> > Can't the newspapers just ask Google to remove their content if they don't > want it being used for free?

They want to have their cake and eat it too. They want to remain on the index for visibility and ad revenue, but they also want google to pay for the privilege.

</comment></comment><comment><USER16> Good luck with that. The European Common Market legislation means that selling services from Ireland to France is incredibly well protected.

<comment><USER17> Indeed, it is. As long as you operate from Ireland that is.

The French tax authorities apparently have proofs that the whole business is done in France by employees of Google France but billed in Irland. So, technically, if I understand correctly, Google France is accused of paying Google Irland for prestations that don't exist since they haven't been done by Google Irland and that's illegal.

Summing undeclared revenues and penalties and considering the size of Google, I'm not overtly surprised it reaches one billion. I guess Google is going to contest the validity of the tax authorities proofs and it's going to languish in courts for some time until they eventually decide to settle on a lower figure.

Considering that this whole tax dodging is clearly gaming the system, I'm certainly not gonna shed a tear for them anyway. If you do business in a country, it seems only fair to pay its taxes.

</comment></comment><comment><USER18> This basically seems like a tax on hyperlinking, which is at the core of the web. Absurd.

A Forbes article (<http://www.forbes.com/sites/timworstall/2012/10/30/explainin...>) explains further that the complaint from French publishers is about the portion of the search results page that shows links to those publishers' content (since that results page has ads on it). They could exclude themselves from indexing easily (and forego traffic of course).

</comment><comment><USER19> _Officially, Mr. Hollande and Mr. Schmidt discussed a bill being evaluated in France to make Google pay to for the right to cite news articles from French newspapers. Google opposes the proposal and warned it would exclude French cites from its search engine if France implements such a law._

French cities?

<comment><USER20> Obviously a type for sites.

<comment><USER21> typo?

</comment></comment></comment><comment><USER22> The "real corporate tax rate" in France is lower than the so-called low Irish rate.

[http://www.fixmytax.com/index.php/fix-my-tax- blog-2/27-frenc...](http://www.fixmytax.com/index.php/fix-my-tax- blog-2/27-french-proclaim-their-low-corporate-tax-rate.html)

</comment><comment><USER23> Chief Executive Eric Shmidt ? I thought he was no longer CEO.

<comment><USER24> Eric Shmidt is the "Executive Chairman", but this was sourced from a French newspaper, so it is likely a translation issue between French and English.

</comment></comment><comment><USER25> Does anyone else think it's a crime that Google, Apple, etc. avoid paying corporate taxes and they should be stopped?

These companies benefit greatly from public services like public transport, electricity, police, fire, roads, etc. but then use loopholes to avoid paying taxes for them.

At the end of the day, this just results in billions of dollars higher private profits and crumbling infrastructure and social services for America.

The only possible long-term outcome is collapse.

<comment><USER26> >Does anyone else think it's a crime that Google, Apple, etc. avoid paying corporate taxes and they should be stopped?

Well, technically, if something has been declared a crime then doing that is a crime...

Is dodging taxes wrong? Of course it is! It gives an unfair advantage to those who can dodge taxes, and that has nothing to do with serving the customer better, delivering a better product or being innovative.

Nevertheless, trying to collect taxes from four years back is also one sort of unethical.

</comment></comment><comment><USER27> This article calls Eric Schmidt the 'Chief Executive'

I thought he stepped down last year and Page took over that role?

</comment><comment><USER28> I hope Dow Jones realizes that Le Canard enchaîné is publishing satire.

</comment><comment><USER29> Wait, are they trying to retroactively extract taxes?

<comment><USER30> I don't really think they have the legal ability to do this given the EU rules in place however, the government can go back and reassess a tax filling.

I live in Canada and I believe they have up to 7 years for which they can go back and audit you.

</comment></comment><comment><USER31> Did Google avoid paying taxes through some loophole? If so, fine, charge them. But I fear this is just a scare tactic, or rather a punishment tactic from the French Government, because Google doesn't want to pay the French newspaper, and I know the Government wants them to do it, too.

So if they would be honest about this, they would go after everyone that uses the tax loophole, if there is one. But I think they only have Google on sight.</comment>


Ask HN: Cloud computing cheaper or more expensive than other solutions? - <AUTHOR>

I have not dove into Amazon web services or Google or even Microsoft Azure.
But since Amazon is the only real leader right now in cloud computing.
Is it cheaper to go with Amazon or a location like Dream Host or Godaddy?
I know Amazon can scale, but you can do that with Godaddy as well... <comment><USER3> I am in the same position you are. I considered DreamHost, SliceHost, and few others and went in for a barebone Linux Xen virtualization hoting at vpsfarm.com. Good enough for me to boot up. Why I didn't go for Amazon - though I think EC2 provides way more value for what I am trying to do. BUT - their pricing is very confusing and sucks - while companies like slicehost/engineyard give upfront pricing, and they are scalable too (may not be upto EC2 level). For me, the price plays a big role as we are bootstrapping from our own pocket. EC2 pricing is a huge matrix of upstream, downstream, storage, bunch of other things, which makes it almost impossible to estimate how much you might have to pay! Having said that, I may consider them at a later point of time, where we grow (hopefully) to bigger infrastructure.

<comment><AUTHOR> EXACTLY. Thats exactly where I am. Bootstrapped out of my own pocket and trying to get up and running.

EDIT: Thanks.

</comment></comment><comment><USER4> Having built a couple of scalable systems of my own (personal project one running on 5 machines currently and 2 works ones running on 50 machines and 17,000+(client)/15(server) machines respectively - though note those last 2 are not websites) I can say safely that the easiest option is to go with a cloud provider. :)

It's a pain to make sure you monitor loads and tweak the availability as things grow. Whereas with Amazon (who I would 100% recommend having recently played with them) it is pretty much all automagical :)

One of the things I used to do when I was a more naive programmer was attempt to reinvent the wheel. Take LiveMeta. I got distracted for _at least_ 2 weeks writing a javascript/php visitor tracking system (and it was damn good :D) . But the thing is - it's not what the site was about, it was an incidental feature (solely for the developers too!) and in the end Google/Clicky provided enough features.

I traded one cut and paste of the Google Analytics code for 2 weeks I should have spent on the other parts of the project.

Same applies here: dont give yourself work. If the project is going to need to scale fast ebough to require cloud computing/scalable architecture pay the bit extra to have Amazon do it for you. 3 years down the line you might decide it is time to invest in your own network - but right now I doubtthat shouldbe your focus. :)

<comment><AUTHOR> If I may ask, what apps have you built that brings all this experience?

So it does cost a little bit more than the regular services. Thats what I gathered, but its also def worth it.

Since I have ASP.net Stack, I would have to go with Windows Azure.

<comment><USER4> You have to understand that some aspects of the work stuff is covered under NDA :)

HOwever..

The personal project is a social network site (still under development) - <USER2> built the scalable back end because we secured some funding and were thinking of launching until other factors caused us to re-evaluate. We built the architecture because it is running an evolved version caching server I wrote at university plus some other parallel applications (my thesis was in these areas) I wrote to load balance the Databases :)

On the work front the smaller cluster is essentially a massive cache cluster (like BigTable) I wrote based on my previous work that we use in office for storing the large fast-access tables we use. We process & access numerous pre- generated hashes daily (upwards of a billion). The software can scale as we add / remove nodes. If it needs extra storage it can temporairily grab one of the other servers used for other purposes. If this happens a lot it notifies us we need a new addition: commodity hardware, 64Bit OS with jack lots of RAM and voila :D

The second setup is the hash generation system. The server side of this is a distributed storage system (again custom written). It does work closely with the hash database too. I cant realy talk about the client side of the above :)

Coding in the scalability was the hardest part of all 3 exercises.

EDIT: and if that sounds cool, well, it is. But it is also a lot of headaches too :)

</comment></comment></comment><comment><USER5> My situtation is a bit unique, because I'm using EC2's for Windows server hosting.

I tried using something like Web Faction or Slice host for a while. And, while they were fine, my *nix admin fu < Windows admin fu. So, it was taking me five times longer to set up a Unix server on slicehost that did what I wanted it to.

I was frustrated, so I tried to set up a Windows server on EC2 running a WAMP stack. I had my site up and running within a few hours. I looked around for other Windows hosting solutions, and about my only other options were to get a dedicated box at 2x the price.

It's been running flawlessly for a month. I'm really happy. I really don't see my self using anyone else for hosting right now. If Azure starts looking ready for prime time, I'll check it out, but right now, it's EC2 for me.

So, not only is EC2 more convenient for me, it's actually cheaper than other Windows hosting options that I found.</comment>


12th Class Indian Student Invents Shoes To Charge Your Mobile - <AUTHOR> http://trak.in/tags/business/2014/03/21/indian-student-invention-mobile-charging-shoes/ <comment><USER2> I know I'll get downvoted by the Indian crowd here on HN, but I feel this needs to be said:

This illustrates the characteristically Indian trait of mindless hero worship. Our media has a tendency to blow such things out of proportion, even if it's immediately apparent to anyone even slightly technically competent that they are definitely not original, or as revolutionary as they are claimed to be.

More examples:

Recent coverage (in one of India's largest newspapers): [http://timesofindia.indiatimes.com/city/guwahati/Guwahati- te...](http://timesofindia.indiatimes.com/city/guwahati/Guwahati-teen-scripts- ReVo-lution/articleshow/30585775.cms)

Thoroughly debunked: [http://technofaq.org/posts/2014/02/unmasked-afreed- islam-rev...](http://technofaq.org/posts/2014/02/unmasked-afreed-islam- revobook-revoixos/)

or

[http://timesofindia.indiatimes.com/tech/enterprise- it/securi...](http://timesofindia.indiatimes.com/tech/enterprise- it/security/Indian-student-in-Cornell-University-hacks-into-ICSE-ISC- database/articleshow/20450666.cms) ("Hacks")

<comment><USER3> I think it has more to do feeling pride for one's own country. I fail to see how this is "mindless hero worship", rather than a means to push India into the spotlight for their 15 minutes of fame, granted the story makes international headlines.

Now bollywood movies on the other hand........

<comment><USER2> >> I think it has more to do feeling pride for one's own country.

India has considerably more impressive achievements to be proud of.

>> I fail to see how this is "mindless hero worship"

Of course it is. Some kid does something entirely ordinary (and probably realises that is the case), and the media treats it like the next big thing and calls him a prodigy. (For examples, look at the links I posted.)

>> rather than a means to push India into the spotlight for their 15 minutes of fame, granted the story makes international headlines.

Better unknown than famous like this.

<comment><USER3> I agree with what you're saying, but I think this is more of an Indian media tactic. No one would know about this student otherwise, so you should be pointing your finger at the reports/journalists to create better content. I suspect this story was aimed at their Indian audience.

This achievement is largely forgettable to our population, but when Indians read this they feel a sense of pride for their fellow people's achievements. I think the Indian media is just exploiting this Indian trait to get more views.

</comment></comment></comment></comment><comment><USER4> Dubious claims as ususal - "Rajesh is now working on a better prototype of the model, wherein mobile or any electric device can be charged without any wires. If the person keeps the mobile in his pockets and just walks, then the battery would be charged wirelessly."

<comment><USER5> > Dubious claims as ususal

How is it dubious, or how is it dubious as "usual"? He is a student in 12th grade, he tried to make sth and then he dreams to make sth more, sth better. Maybe he will fail or maybe he'll succeed but what is dubious here?

</comment></comment><comment><USER6> Ugh, for god's sake please stop submitting stuff like this.

<comment><USER3> care to elaborate on what's wrong with it, considering it's being upvoted?

</comment></comment><comment><USER7> In college, one of my physics professors put it this way: Even though someone else may have discovered a law or theorem already, doesn't make independently reasoning it out and getting to the same conclusion any less of an accomplishment.

Good on him for attacking a problem, and for having the wherewithal to attempt more advanced prototypes.

</comment><comment><USER8> >As per the preliminary reports, this shoe cum charger can light a bulb by placing a battery in the shoes.

What?

<comment><USER9> ha! might as well have the headline: '12th class student charges his phone from thin air' and then reveal in the article it is just made by placing a battery in thin air...

<comment><USER10> why put the worst possible interpretation on things? it was pretty clear to me that the battery was rechargeable and that the shoe was charging it.

</comment></comment></comment><comment><USER11> The article is horrible. Its a report on a high schools student's project at best. Its like India longs for greatness and the media is desperate for some one to do something big.

</comment><comment><USER12> Mobile Or Smartphone? If It's Smartphone then it's a great idea because In India people are demanding big screen which comes with 2000mAh (5-inch screen) So Smartphone user are facing issue with battery. If it's mobile charger also the scenario is great because in India we have 900 million mobile device, which include 80 Million smartphone as of now. Last but not the least This setup will help India in a long run, This boy need good team member to have his company.

</comment><comment><USER13> As mentioned in article not new but i kind of like parallel products developed. another one is [http://trak.in/innovation/indian-school-girl- invents-washing...](http://trak.in/innovation/indian-school-girl-invents- washing-machine-without-electricity-302013/)

But i would rather find solution or imlement solution why power is getting cut even famous places ulike Chennai/Bangalore on regular basis. I know one reason which poor labor work.

<comment><USER14> +1

Also, I would like the title of the article to be changed. IMO, whatever achieved, according to the article, is not an invention. It is just another usage of a dynamo.

<comment><AUTHOR> I agree, the title may be a little over the top. But, see the guy, he is a student living in a place where they do not have much facilities or exposure. They were cut-off from the world, with no lights etc. For most of us urban folks, it may just be another interesting thing, but for them, it could be a communication enabler!..

</comment></comment></comment><comment><USER15> Awesome! I wanted to make shoes that use piezoelectricity to charge batteries in the heel or just keep warm. This kid did it!

</comment><comment><USER16> Sounds like a fairly inefficient way to turn food into electricity. Surely it would be cheaper, faster, and more efficient to just have something like a small hand crank to generate the electricity.

<comment><USER17> The point of this kind of thing is to generate electricity form something that you would be doing anyway even if it did not generate electricity.

<comment><USER16> Sure, but to generate _x_ watts probably requires the walker to output _x_ more watts than normal while walking.

</comment></comment></comment><comment><USER18> Feels really good to see innovations at school level, even if it's mostly inspiration. The practical application of what we study has been lacing in Indian education system.</comment>


Ancient underwater plant 'could be world's first flower' - <AUTHOR> http://www.bbc.com/news/world-us-canada-33969640

<comment><USER2> mmmh... If this is all the evidence that they have, I can not buy the idea.

I could be wrong of course, but to me this plant is too similar to the extant members from the order Charales, aquatic plants having structures filled with spores that could be confused easily with fruits by a novice.

An example to compare:

[https://es.wikipedia.org/wiki/Charophyceae#/media/File:Chara...](https://es.wikipedia.org/wiki/Charophyceae#/media/File:CharaHispida.jpg)

The problem is that Charophycea are not flowering plants at all, they are a type of calcified algae. Having hard tissues the fossils are easily traced since the silurian and are well known. They have ornated oosporanges with a structure that simulates one "seed" inside a cover.

[http://mcgregor.sbs.auckland.ac.nz/files/2011/01/dave_082_1....](http://mcgregor.sbs.auckland.ac.nz/files/2011/01/dave_082_1.jpg)

So I wonder why paleontologists see here an angiosperm. Maybe the species have roots? To me this is a typical algae.</comment>


Bartleby, the Scrivener: An interactive, annotated story of Wall Street - <AUTHOR> http://www.slate.com/articles/arts/culturebox/2015/10/herman_melville_s_bartleby_the_scrivener_an_interactive_annotated_text.html <comment><USER2> I read this in 1995 in a freezing cold bedroom lying atop a pale pink candlewick bedspread with the dismal damp Irish night wind howling outside. Pages from Benito Cereno were falling periodically out from the thirty year old penguin paperback. I was on a very mild acid trip (first and last). It was wonderful.

Reading it on a screen with these dull minded annotations? I'd hate for this to be anyone's first experience of it...

<comment><USER3> > dull minded annotations

Is scandox making an assertion here? Could be, or perhaps it's a just a meager judgement. Whether or not he/she really thinks this is a pleasant first experience is open to question.

<comment><USER2> To clarify: the annotations are grand really but I don't find notes, footnotes and introductions good companions to literature. They break the flow of one's reading. They should be kept strictly at the back and not intrude on the text. Reading a story like this is personal and immersive...this text breaks that down.

<comment> rm_-rf_slash I agree. Reading is a linear process, and any attempt to insert annotations or footnotes should be as integrated with the material as any other part of the story.

<comment><USER4> I wish reading were a more linear process for me. Explicitly annotated or not, the better I find a work, the more uncontrollably my thoughts proliferate as I read, and I'm consequently having to re-read and re-read particularly thought- inducing paragraphs. There's obviously a material difference between authors/editors inserting their own thoughts and me inserting my own, but either way, the better the text, the less linear it is.

<comment><USER5> I'm with you. I think that maybe we take in media passively so often these days (movies, music, radio) that when left to our own devices our mind get a little too excited.

</comment></comment></comment></comment></comment></comment><comment><USER6> Interesting piece. But did anyone else find the website screwed with their scrolling along the x axis?</comment>


GIS mapping data is public, California high court rules - <AUTHOR> http://www.rcfp.org/browse-media-law-resources/news/gis-mapping-data-public-not-subject-software-fee-california-high-cou

<comment><USER2> The title is a trifle misleading. The ruling is not that all GIS mapping data is public; it applies to a specific chunk of GIS mapping data.

The ruling says that when the California government maintains GIS data, it falls under "public records", and furthermore that GIS data (unlike GIS software) does not fall under the "software" exemption to the rules for "public records". As such, the government may not charge a licensing fee for its use.

This does not affect GIS data in the possession of private enterprises.

IANAL, TINLA.

<comment><AUTHOR> good summary!

I rather liked this:

Justice Goodwin Liu wrote in the decision that while it was unclear whether this exemption covered GIS data, the court must err on the Sierra Club's side because Article I, Section 3 of the state Constitution requires that any law "shall be broadly construed if it furthers the people's right of access, and narrowly construed if it limits the right of access."

Seems like a particularly sane guideline in an age where technology is moving faster than laws.</comment></comment>