Announcing the new Jetstrap for Twitter Bootstrap Development - <AUTHOR> http://blog.jetstrap.com/2013/04/introducing-jetstrap-1-0/

<comment><USER2> Interesting that in the last 6mnths to 1 year for everything I see on HN pushing a yearly subscription model.

While it's certainly proven to make more $, I wonder what the repercussions really are.

<comment><AUTHOR> I think our pricing model will evolve over time. Right now it's a bit simpler to start this way, but we have a lot of ideas on how to make the model fit the use case better. We've also had some success with the subscription model for some other projects we've worked on, so there is some precedent there.

<comment><USER3> Have you tested dropping or severely limiting the free plan?

<comment><AUTHOR> We will probably try restricting/modifying the free plan over time. For better or for worse we are easing into the payment stuff.

</comment></comment></comment></comment><comment><USER4> Super stoked to inherit a bunch of half-finished front end projects started in this app, where step one is to remove all of the hard-coded list seperators, "<i>" tags, and "span6" classes

<comment><AUTHOR> Do you have more info on what is wrong with the markup? From the comment all I can make out is those are normal bootstrap constructs (span6 being a grid span). I'd like to fix the issues you are having (though this new version has even cleaner exported markup).

<comment><USER4> What's wrong with the markup is that it conforms to the Bootstrap documentation, and the way the Bootstrap docs recommend writing HTML is absolute _garbage_.

<i class="dipshit-icon"> is the spacer.gif of my generation.

<comment><USER5> Can you point us to your popular time-saving framework that does all of this the correct way then?

Yes I'm purposely being snarky here because while I can accept that your are allowed to not like the choices the Bootstrap designers made, this kind of attitude doesn't help.

Bootstrap provides a ton of other valuable benefits to a web project's lifecycle, apart from catering to the one-man pedantic HTML developer who doesn't care about everyone else's jobs (IA, design, prototyping, etc) and dismisses the whole thing because it doesn't cater to his/her views.

Calling a project garbage and dismissing it in this manner is just short- sighted and, well, selfish. If Bootstrap's code was really that bad, wouldn't it be less popular? Wouldn't someone have produced a better competing product?

<comment><USER4> There are many better products than Bootstrap. I don't know why they aren't more popular. I guess the real problem is that craftsmanship is out of style.

 _Using Bootstrap_ is what is short sighted, because following its recommended implementation _will_ create problems down the road, not just for me, the pedant, but the whole team.

<comment><USER6> From the parent:

> _Can you point us to your popular time-saving framework that does all of > this the correct way then?_

So please suggest something. I'm curious to see what product (perhaps that you've worked on?) solves all of Bootstrap's obvious shortcomings.

</comment></comment></comment></comment></comment></comment><comment><USER7> Great work! One feature request: Allow the user to deploy straight to a GitHub repository or perhaps FTP. I realize we can just export the HTML/CSS/JS and upload ourselves, but this would be much faster and simpler. Would be fine if this feature was limited to paying customers.

</comment><comment><USER8> Jetstrap reminds me of Divshot - another great interface builder: <http://www.divshot.com>

Great job! Glad to see some startups out there trying to make it easier to create :)

</comment><comment><USER9> Good idea and looking great!

I just signed up and here are a few observations:

\- the editor is stuck every few minutes on latest Chrome

\- helper buttons (clone/delete) disappear after a few moves

\- content elements are disappearing when typing (heading titles on marketing layout) - not sure if that triggered some shortcut

\- the "undo" button is missing there badly

<comment><AUTHOR> Ah, sorry about that. I will take a look and see where the issue is. Thanks!

<comment><USER9> You're welcome!

</comment></comment></comment><comment><USER10> Nice. Between Jetstrap, Divshot, and Easel, there's no shortage of WYSIWYG Bootstrap apps. The question is which one will offer the best options for creating code for an actual dynamic website. I.e. it would be great to use something to do all the design of Rails site, but it seems like it would involve a lot of copying and pasting.

<comment><AUTHOR> All great tools. I think the challenge is fitting into a developer's work flow at that level of intimacy to their app. To that end, we will probably end up targeting a different type of user, but those details are still evolving.

</comment></comment><comment><USER11> When I first saw this a while back it wasn't really any good but now it feels pretty slick. Keep up the good work!

<comment><AUTHOR> That gave me a chuckle :) You know what they say: if you aren't embarrassed by your first release you waited too long.

</comment></comment><comment><USER12> Good stuff. This will make prototyping stuff for client simple as hell. I am a lazy lazy man

</comment><comment><USER13> Really like the simplicity. If I pay for a year, what changes can I expect in that time?

</comment><comment><USER14> I'm using firefox on os x, and I'm getting some weird anti-aliasing on some of the sites text, for example my user name on the header bar + the text in the lower right corner on the dashboard page.

Other than that, looks great.

</comment><comment><USER15> The code editor is really slick. Did you build it from scratch or is it a library?

<comment><AUTHOR> We used Ace for the editing, and then basically just listen for changes and update the document. There is more we could do there to really integrate it, but it's a nice start.

<comment><USER16> Ace?

<comment><USER17> <http://ajaxorg.github.io/ace/>

<comment><AUTHOR> CodeMirror (<http://codemirror.net/>) and Brackets (<http://brackets.io/>) are two other popular ones, though I've not used them.

</comment></comment></comment></comment></comment><comment><USER18> This looks like a nice Bootstrap editor. I tried it, and it worked great but for some strange reason the backspace key won't work at all.

<comment><AUTHOR> Gah! Just pushed a fix. Moved too quickly and broke that.

</comment></comment><comment><USER19> Big improvements. Nice progress.

</comment><comment><USER20> How much for just the T-shirt? Nice work guys, keep up the great work!

</comment><comment><USER21> Very cool, great work!

<comment><USER22> Thank you!

</comment></comment><comment><USER23> Please vertically center the text on those buttons!</comment>


Yacc is not dead - <AUTHOR> http://research.swtch.com/2010/12/yacc-is-not-dead.html <comment><USER2> This is one area that has always disappointed me. Compiler-compilers just never seem to have lived up to the promise of making it easier to define your own languages. If anything, languages like Ruby have done a far better job (albeit in a more limited way).

I wonder at the reasons for this. Is this simply the wrong theoretical approach? If you look at formal grammars and how Yacc, ANTLR, etc deal with them, they're intended to be unambiguous. This is actually a problem in many ways.

PEGs (Parsing Expression Grammars) are a relatively new (~10 years) development that I find far more interesting for this reason as they solve the ambiguity problem by simply ranking the alternatives, which can have hideous backtracking possibilities (and tend to expensive in space terms) but in practice seem to lead to more natural definitions (at least in my limited experience).

I just have to wonder if we're going about this whole language thing the wrong way.

<comment><USER3> I agree that PEGs are more interesting.

Formally speaking, you can parse PEGs in worst-case linear time with a packrat parser. Practically speaking, the constant factor on that worst case is still much worse than the usual case (the number of nonterminals in your grammar is a factor of the constant factor.)

I've written a one-page PEG compiler-compiler (interspersed with many pages of text explaining it) at <https://github.com/kragen/peg- bootstrap/blob/master/peg.md>.

</comment></comment><comment><USER4> And a response from the authors of the paper: <http://matt.might.net/articles/parsing-with-derivatives/> (<http://news.ycombinator.com/item?id=2001736>)

</comment><comment><USER5> I have used yacc and its offspring like bison for a long time. Writing the grammars is really simple, but debugging them is really arcane. The problem is that the place where the parser generator discovers the error can be some distance from where you introduced the ambiguity. Grammars have their own debugging style, particularly with yacc/bison output. Eventually you have an aha moment and you start looking for an improper empty state or trying a reduction at the wrong place in the parse tree. It isnt hard if you grasp it and probably an intractable bitch if you dont.

I will agree however, that the parser and the bison source look like someone barfed C all over the floor, unless someone has given it serious TLC in the past dozen years.

</comment><comment><USER6> What do people use yacc and other parsing tools for these days?

Looking at the uses page for ANTLR yesterday, it seems to be entirely DSL (query languages etc) and language tools (Java src code transformers, coverage checkers etc).

It seems that if you just need a text format, you'll probably settle for JSON (if you're happy to output data-structures directly) or XML (if you need to design a schema or interop with one). They are both general, non-tailored formats, making specific formats easy to extend. Less specific, more flexible.

Recently it was said here that most modern programming languages (surprisingly) use hand-made recursive descent parsers. This gives maximum power and performance, at the cost of complexity and being a lot of work.

BTW: javacc is a nice update of yacc IMHO, using EBNF, eg. you can write repetition with an * instead of breaking it into _A:: aA|-_ . But it doesn't seem to have an active community around it (cf ANTLR), which is sadly a crucial factor for practical use.

However, I personally have always written manual recursive descent parsers (including XML formats), instead of using tools. For me, yacc et. al. just get in the way. But it's such a cool idea! BTW: There's a body of research called "grammarware", that didn't seem to take off; and I've heard that everyone who looks at grammars believes that can make it simple and easy to use, and set out to do so, but no one ever succeeds (...yet, anyway). <http://www.cs.vu.nl/grammarware/>

In my humble (and I admit, extremely unpopular) opinion, XML represents an amazing leap forward towards this goal: an XML Schema (or a DTD) is a grammar, and many parsing issues just disappear using this simpler, less powerful approach. For example, it has to be deterministic (aka 1-unambiguous); you can't have recursion within the one level of an element (aka tree grammar). I just wish it weren't so ghastly and soul-destroying to use. You have to look past the surface to see its disguised beauty (its beauty is "very effectively disguised").

 _funfact_ : Eric Schmidt wrote lex <http://en.wikipedia.org/wiki/Lex_(software)> Now, you might pooh-pooh lex for various reasons, but you can't call Eric a non-technical CEO.

<comment><USER7> Just off the top of my head, Ruby uses a bison parser. They're also handy any time you've got a syntax specified in a standard, like CSS.

<comment><USER6> thanks - found it was also yacc at one time: [http://stackoverflow.com/questions/2646312/language- parsers/...](http://stackoverflow.com/questions/2646312/language- parsers/2647234#2647234)

Here's the spec itself: <https://github.com/Ruby/Ruby/blob/trunk/parse.y>

</comment></comment></comment><comment><USER8> Mathew Might video "Yacc is Dead" at Stanford from Feb 2011. <http://www.stanford.edu/class/ee380/permlinks/Might.html>. Slides are also available.</comment>


Keybase GitHub Issue: Uploading Private Keys Puts Users At Risk - <AUTHOR> https://github.com/keybase/keybase-issues/issues/160

<comment><AUTHOR> To forestall inevitable misunderstandings, this is an optional feature--they are not doing something this unsafe as a default. It just strikes some of us as a really bad idea.</comment>


John Carmack's son's game in Racket - <AUTHOR> https://groups.google.com/forum/?hl=en#!topic/racket-users/yjRuIxypUQc <comment><USER2>
      Dropping a newbie into Eclipse or MonoDevelop makes them feel like
      they are walking around in a byzantine museum, afraid to touch
      things, while DrRacket feels closer to old-school personal computers
      where you felt like you were in command of the machine.

I think this is a very important observation. As with most things, it's extremely important to get in during the humble beginning stage and then tracing your way up to grok more complicated systems. Similar to the "first principle" approach.

<comment><USER3> My 7 year old is learning on a Raspberry Pi that does not load X by default. She gets around the terminal pretty well (changing, dirs, calling python scripts, etc.). The GUI is just overwhelming at this point. She prefers the terminal. In fact, she will boot it up and type:

        nano story.txt

To start writing simple stories (she loves doing that). And yes, she saves it by pressing Ctrl-x, y, and enter. :D

<comment><USER4> You can set a Raspberry Pi to boot straight into Scratch. It's a great introductory graphical programming language.

The next step is usually Python but I'm not sure kids will get the significant whitespace. Go is an option or maybe BASIC (on RISC OS perhaps).

<comment><USER5> There is nothing harder to understand about indentation levels than curly braces, if you haven't already developed a preference for curly braces. Go is really not designed as a tool for new programmers, you are just projecting your preferences onto kids.

<comment><USER6> >There is nothing harder to understand about indentation levels than curly braces //

At the start of this year I finished a first course in Python to learn in anticipation of [possibly] using it for home learning with my kids (it seems widely used for education). As I'm familiar with programming I searched for an IDE as I started. It told me when I had dropped a space or used a tab by accident. I tried several different environments including my standard editor choices - nano and Kate - revealing non-printing characters was a clear advantage. Others (primarily adults) who were starting fresh in programming had lots of problems with errant spaces.

With braces you can see more clearly when there is an error of addition or omission, not so much with spaces. Like I tried to say above: this is clearly tractable with the right tools but the demarcation - I feel - of braces can be a more clear and obvious sign of separation than whitespace. For younger people with less spatial reasoning and less accurate perception of text lining up it rather seems it could be pretty much harder to use whitespace structuring.

Personally I like the overall "clean" appearance of Python compared to PHP (say), debugging with tools is fine, when I was testing different environments and tripped on whitespace problems it was a nightmare rather reminiscent of trying to debug HTML tables some years back.

<comment><USER7> My intuition is that indentation is more readily apparent. You can tell that a group of lines or an individual line is indented or not at a glance. It's natural to see that they are grouped. With braces, you have to search for the opening and closing brace, and furthermore you must search within those braces to ensure another brace set isn't being opened, in case you missed one. You have to learn both -- about how to designate a set of statements as grouped using opening and closing braces, and how to detect a common class of errors related to nesting braces.

<comment><USER8> The thing is, those of us who prefer braces or other syntax elements _also_ indent. It's not either/or. I want the redundancy. I can more easily see how things line up.

> With braces, you have to search for the opening and closing brace

It's probably been 20-30 years since I used an editor that couldn't highlight the matching brace, and that wouldn't show me which opening brace the closing brace I just put down matches up with.

But it's just been a day since the last cut and paste "accident" left me with a badly mis-indented piece of code... which I happily could auto-format back to sanity with a couple of keystrokes because the indentation was not all the editor had to go by.

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> I imagine this sentiment is going to be very unpopular here, but as a parent of a ten-year-old, I find this kind of fetishizing of the accomplishments of ten-year-olds to be disturbing. I think it's great that Carmack's son has taken an interest in programming at such a young age, but why need this be so public? Not only does this do his son a disservice (who, despite his precociousness, is not old enough to understand how cruel the internet can be -- or how long its memory), it also does other children a disservice by implicitly encouraging absurdly aspirational parenting. Witness this comment, found in this HN discussion:

 _I am so jealous when I hear these damn stories. Another 5 or more years to go. Does anyone have a book about the method they develop? I bet that, following it to the T or not, it would sell here with the HN crowd._

It's great to inspire your kids to program (computational thinking is literacy, after all), but it's deeply misguided to believe that normal ten- year-olds exhibit the kind of intense interest that Carmack's son seems to display here -- and indeed, believing that a "method" can yield this kind of interest in a child can result in the kind of paternal (or maternal) disappointment that does lasting emotional harm.

Good on Carmack's son for showing such interest and talent, but let's encourage that to be fostered relatively privately -- and thereby allow him to be what he is first and foremost: a ten-year-old kid.

<comment><USER10> As a Chinese, this is pretty normal. In fact I'd push him to perform in sports and academics as well.

On a more serious note, sadly the majority of Chinese/Asian parents i know would take the first sentence seriously.

<comment><USER11> So stereotypes and racism is OK on HN, as long as the victims are Asian?

<comment> yoz-y Is it considered a racist stereotype if it is true though? My wife is Chinese and most of her stories do corroborate what parent said. In big cities the school system is very demanding and if you want to land in a good college you have to land in a good high school and so on. With an extremely competitive job market it is not unconceivable that parents push their kids very hard.

<comment><USER12> Sure, but there is still a difference between, say, "as someone living in a certain section of a highly competitive environment", and "as a Chinese", since the latter could at least be read to imply that it's a genetic trait, which would be obviously silly. Of course it can also be a shorthand for the more verbose way to put it, but I _suspect_ people here are talking more about descent than the society they are most tightly integrated into.

</comment></comment></comment></comment></comment><comment><USER13> _" Now I get to show him how there is actually a cleaner 1000 line program hiding inside his 2000 line program."_

[https://twitter.com/ID_AA_Carmack/status/635831064846594048](https://twitter.com/ID_AA_Carmack/status/635831064846594048)

<comment><USER14> Ah! That constant realization. It is hard, but the "what now" feeling I get after polishing a small stupid sideproject of mine until there is really nothing left to do but adding features I don't need or want. I like to think it is teaching me good habits, but that is really not very comforting.

This week I revisited my scheme automounter I have running on my raspberry pi that I wrote when I first learned scheme. I made the code half as long and made it not suck and now I am struggling with not starting an ever-growing project of replacing systemd with it...

<comment><USER15> [https://www.gnu.org/software/dmd/](https://www.gnu.org/software/dmd/)

<comment><USER14> Beautiful!

</comment></comment></comment></comment><comment><USER16> > I'm still taking a little heat from my wife for using an obscure language > instead of something mainstream that is broadly used in industry

That is hilarious.

<comment><USER17> Since his son is 10 years old, he'll most likely enter the professional industry in ~10 years. Maybe Racket will be a popular language by then.

<comment><USER18> I doubt he will need to know a popular language to get employment opportunities if he starts at 10.

<comment><USER19> I doubt he will need to know a popular language to get employment opportunities if he's the son of John Carmack.

<comment><USER20> I doubt employment will ever matter to him if he's the son of John Carmack.

<comment><USER21> Well, I guess even some rich kids might want to make their own fortune rather than living off their parents.

<comment><USER20> My point was that he's more likely to work for himself, whether for increasing his wealth or for some other goal, than care about how employable he is to somebody else.

<comment><USER21> Ah, yes. Good point :)

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER22> Awesome!

My 11 year old son submitted his first LudumDare Jam game this morning. It's a Javascript / HTML5 clicker/incremental game (think Cookie Clicker) built on a game engine I created. He's been getting so much better at coding all summer long. I had to help a lot at first, but now he's implementing everything on his own, and only comes to me when he can't hunt down a bug - which 99.9% of the time is a missing end-quote, ) or }

I'm not sure I want him to have a public website though with photos and an email address posted :/ I guess I'm not as trusting of... well... the entire world. Then again, maybe it's a good idea. I don't want him to leave the house at 18 and be surprised at how nasty the Internet can be.

<comment><USER23> Thinking back to my own learning curve, I'm not sure if a linter would be helpful or harmful. On the one hand, it makes him think about the little details, on the other hand, not having to think about it frees him up to move on to thinking about bigger things.

</comment></comment><comment><USER24> > DrRacket feels closer to old-school personal computers where you felt like > you were in command of the machine.

This motivates the design of my Scheme IDE, Glass Table [[https://github.com/bitwize/glasstable](https://github.com/bitwize/glasstable)], which is modelled on old-school micro BASICs (notably from Microsoft).

GT is implemented as a series of hooks into the REPL, which listen to all typed input for variable, procedure, or macro definitions and log them in a "workspace" which can then be saved as a Scheme file. Individual definitions in the workspace can then be edited with an inferior editor (or, if you are working from inside emacs, with emacsclient).

Not to take anything away from DrRacket of course. Any programming tool that puts direct, immediate command of the machine at your fingertips is a good thing.

<comment><USER25> I love scheme, though at first I definitely thought I would hate it. The big issue that I have with it is the difference between interpreters and how things that work in Petite won't always work in Gambit.

</comment></comment><comment><USER26> The son's favorite games don't include any games of his dad. That's quite funny.

<comment><USER27> Maybe he's not old enough yet to play any of his dad's games :)

<comment><USER28> Keen would be age appropriate.

<comment><USER29> Commander Keen is indeed fun, but when you lose you have to start over from the beginning.

<comment><USER30> They were the days.

</comment></comment></comment></comment></comment><comment><USER31> Nice!

A bit off-topic here, but still related I guess. I have a 1 year old daughter and I keep wondering what would be the right time to introduce her to computers and programming in the future?

I have always thought that she should spend time reading books, playing in the backyard and lego before she delves into computers.

Have any other programmer parents thought about this as well? Or any other experiences on how they introduced programming to their kids?

<comment><USER32> I have a 2 year old and I'm not sure, but she's definitely not ready :) I think we're talking 4-5 year old at least to start introducing the concepts, then I'm guessing 7-9 to start doing some programming.

<comment><USER33> I have a 2 year old, and we play Minecraft, and I'd say we've started with 'concepts' already.

Simple things, but things like make a switch that turns on and off a lamp or opens a door. Or simply building larger things out of smaller things.

I mean programming is really a matter of logic and composition. Something like "This switch will turn off all of the lights, but these switches will turn on and off individual lights." is a sort of "If (mainswitch is on) then {lights settings is the same as its switch} else {light is off}"

Apart from some pretty simple logic, it's really just composition. A turing machine is comprised of some really simple functions, and apart from that it's just a matter of understanding how to compose those into more complex ones, and understanding programming is just recognizing the processes of breaking down those complex compositions into simpler ones.

</comment></comment></comment><comment><USER34>
        I'm still taking a little heat from my wife for using an obscure language instead of something mainstream that is broadly used in industry,

That's adorable. Of course John Carmack's wife would be ribbing him about what programming language he uses.

</comment><comment><USER35> Not only John Carmack but Mathias Felleisen in one thread? How cool is that!?

I had the same impressions as Carmack, I think, about the suitability of the DrRacket environment for young programmers. It's nice seeing that it can work for young, motivated programmers.

</comment><comment><USER36> Woah. Nice job Ryan

It's pretty cool how he added squealing sounds when the FLY character dies. I died several times while being in Ghost mode. This game is hard!

When I was 10 I was probably still reading choose-your-own-adventure paperback books. Ryan's already wrote his own game in a functional language.

Nice job!

</comment><comment><USER37> I have never done any game development and my primary programming experience for the last few years has been JavaScript.

My 10 year old daughter has a lot of ideas for games, but since I have no game programming experience I literally have no idea where to start with her. Does anyone have any suggestions for a good framework / toolset to get started for a simple game?

<comment><USER38> [https://processing.org/](https://processing.org/)

Processing seems pretty good.

I'm teaching my younger brother with PyGame and Python, and that's ok, but not perfect.

<comment><USER39> I'm a big fan of processing for learning. It does just the sort of things you want out of the box, it comes with lots of examples, there are books available on it, the time to get set up and running your own programs is practically nil, and it runs the same way regardless of the platform you put it on. All great stuff for a "toy."

</comment></comment></comment><comment><USER40> I am beginning my second time of teaching out of HtDP/2e at the high school level. My experience last time I taught it (3 years ago) was similar to what Carmack describes. There are many advantages to the DrRacket environment and the Racket language (or BSL teaching language) for teaching beginners, and I think HtDP teaches some valuable design techniques and disciplines.

I also felt that the approach to drawing taught in HtDP became awkward as things got complicated, so I appreciate some of the advice given in the thread. I may try some of these things this semester. I may also try jumping out of BSL into full Racket at some point so that we can use some more advanced features.

</comment><comment><USER41> That's great to see that John Carmack's son has a similar passion for programming as his father. However, what if his son turned out differently and didn't have it in his blood? Would John Carmack still pursue it?

<comment><USER42> That's a good question. Speaking from experience: I am a programmer like my father, but my older brother is not. My dad and I discuss programming all the time, but he doesn't take much interest in my brother's hobbies. For what it's worth, he tried to steer me towards programming from a young age, but it never really stuck; we never built anything interesting. I did, however, write some simple games for my TI-83+ calculator, and finally I rediscovered serious programming in college.

My guess is that Ryan is primarily interested in programming as a means of making games. And since his father basically wrote the book on that topic, he's in a perfect position to nurture that interest. If John instead wrote, say, the world's best accounting software, I think Ryan would be more likely to pursue a different hobby.

</comment></comment><comment><USER43> Hopefully he will eventually share the source code. I showed it to my son who was very interested to see how it was made. We go back and forth between Racket and Lua Love; he thinks Love is easier, but seeing examples of Racket that other kids had made might encourage him to explore it further.

I would love that since Racket is obviously a much better language than Lua for learning, but Love is still a bit more approachable for graphics than Racket's universe library.

</comment><comment><USER44> For anyone interested in yet another opinion, I've had good experiences with my young daughter using the Wonder Workshop robot as an early programming introduction. It has pretty solid hardware and relatively flexible programability: [https://www.makewonder.com/](https://www.makewonder.com/)

</comment><comment><USER45> FRP notwithstanding, the comment about UIs is important in that OOP was originally developed around the needs of user interface components with their inherent "mutable state" and single-threadedness (ever find yourself needing to use two mice at once?)

<comment><USER46> > (ever find yourself needing to use two mice at once?)

Yes. I tried to get that working in GNOME once, naively expecting that because it's trivially easy to state well-defined behavior for multiple mouse cursors, it must also be possible to _have_ multiple mouse cursors. But no. I'm still bitter that this seemingly obvious concept seems to be so thoroughly precluded at very basic levels.

<comment><USER47> Supposedly, it will work on Wayland.

[https://www.youtube.com/watch?v=WO2L_ihO_rI](https://www.youtube.com/watch?v=WO2L_ihO_rI)

</comment></comment></comment><comment><USER48> > but I'm not sure that the functional drawing paradigm ever really sank in > while my son was working with it, rather it felt like you just drew > everything backwards with missing parenthesis at the end

Can someone explain this? How are things drawn in functional programming?

<comment><USER49> This is the Racket library in question for context, it provides a framework for doing world simulation in a FP way.

[http://docs.racket-lang.org/teachpack/2htdpuniverse.html](http://docs.racket- lang.org/teachpack/2htdpuniverse.html)

</comment></comment><comment><USER50> As someone that volunteer to share computer literacy to kids, I can assure you that kids are underestimated by a big margin. I saw a lot of kids adsorbing concepts more easily than some adults. I'm not obviously talking about Monads; but the concepts are still fundamental to programming. Kids can get sufficient results to do something on their own and to really enjoy it.

The thing that I see most, and in this activity, the thing that displease me most is: parents that work as programmers and they pretend that their children must be programmers too. They bring them because they tried in all ways to make them interested and didn't succeed. One parent, a programmer, was worried with the quality of the teaching and wanted to be present a day. After the end of the meeting(I like to call them meeting. Kids see school as prison rather than joy, and I don't want to make them feel uneasy) the programmer seemed pleased of the experience and made a praise about the kids being happy and interested. He told me that he would send his son, in the hope that this time he would listen and asked about the price. I told him the truth and true nature of that meeting: they are all kids that really wanted it: When I am the new batch I usually try to talk of other things and wait something that makes me happy: a kid asking me when we begin. This is the clear sign that there is something in the room that is happy to learn. The programmer looked a bit puzzled and I told him my opinion. Are you sure that this is what your son want? If you imprison your son in something, he will totally hate it, wasting an activity that he could have enjoyed at a later time. I finished the speech saying that I'm doing it for free. My reward is making them have a good time and hopefully, giving them a better future. Kids in front of other people can have problems and feel anxiety. So, Carmack, I'm worried if having an entry bar of all the Internet watching your son, could be a burden too high. Are we sure that this is what he wants? Is he ready to compete?

Kids are precious, they will be the mark of our efforts and their mirror. I think that your son should enjoy as much as he can what he is doing and be kept away from the Internet consumerism for now ...

Have a nice day.

</comment><comment><USER51> I guess the apple doesn't fall far from the tree. Good job :)

<comment><USER52> In the thread he mentions that his 10 year old is through Algebra II. That's definitely advanced for his age.

</comment></comment><comment><USER53> From his web page: "My new game is about a character name Barb B. Queue"

It's enough that he's an amazing 10 year old programmer but he's also funny!

</comment><comment><USER54> So we are hearing about lot of 6-8 year old writing code. I'm trying to figure out what is normal and what are edge cases. I'm wondering...

What is the age they start reading proficiently?

What is the age they start writing effortlessly?

What is the edge they can read a web manual for, say, Racket and actually understand it?

</comment><comment><USER55>
      ] 10 PRINT "HELLO"
      ] RUN

It was that easy from my Apple ][/c

And this was pretty much fun

      ] CALL -151
      * T

</comment><comment><USER56> Man I wish I'd had this kind of experiences when I was his age... WELL DONE to both father and son!

</comment><comment><USER57> Very impressive Ryan! This kid is going places :)

</comment><comment><USER58> at 10 his son is likely in 5th grade or so, knowing Racket is going to be handy for Math homework, especially fractions.

<comment><USER43> Later in the thread he says his son is working through Algebra II, so I imagine it will be useful, but not quite in the way you've described.

</comment></comment><comment><USER59> OK, grumpy person here. Awesome work for a young person, but. I launched the mac version and pressed enter. Just as I was forming the thought, oh, flappy bird, the flying thing went down into barrier. My macbook emitted a very loud and unpleasant sound. Then I decided I didn't want to play, so hit cmd-q. Nothing. cmd-q cmd-q. Nothing. Ctrl-click on the dock icon, oddly, "force quit" isn't there. Three-finger salute, select program, force-quit. Delete.

</comment><comment><USER60> What a shame. When you unzip it, it looks like a Linux game made to run on Windows but where is the Linux version?

libcairo-2.dll

libeay32.dll

libexpat-1.dll

libffi-6.dll

libfontconfig-1.dll

libfreetype-6.dll

libglib-2.0-0.dll

libgmodule-2.0-0.dll

libgobject-2.0-0.dll

libgthread-2.0-0.dll

libharfbuzz-0.dll

libiconv-2.dll

libintl-8.dll

libjpeg-9.dll

libpango-1.0-0.dll

libpangocairo-1.0-0.dll

libpangoft2-1.0-0.dll

libpangowin32-1.0-0.dll

libpixman-1-0.dll

libpng16-16.dll

ssleay32.dll

zlib1.dll

<comment><USER61> You're really complaining that a ten-year-old kid's toy video gaming product doesn't have a Linux port? That's what you're doing here?

<comment><USER60> Not really complaining about this specific game's lack of a port. More of a general complaint about software that leverages other open source software but cannot run on Linux. I've never used Racket, maybe it doesn't even run on Linux.

<comment><USER62> "I've never used X, _insert certifiably false statement about X_ "

I regret that I have only one downvote to give.

<comment><USER63> Where X is just a google search away...</comment></comment></comment></comment></comment>


HN Request: Please add links to comment threads to @newsycombinator posts - <AUTHOR>

The HN Twiiter account is my favorite source of content, but there's no easy way to find the HN discussion thread. When I read this today, http://twitter.com/newsycombinator/status/7335235548 , I wanted to see what the HN community had to say, but the only way to do so was to go to the main HN site and search for WIP. Very cumbersome.<p>Please vote up if you want discussion thread links on the HN twitter account! <comment><USER2> Follow <http://twitter.com/YCHackerNews> instead

</comment><comment><USER3> tell riklomas

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


Hackintosh Mod Used an Actual Trash Can to Look Like Apple's New Mac Pro - <AUTHOR> http://nofilmschool.com/2014/01/hackintosh-apple-mac-pro-trash-can-mod-tonymacx86/ <comment><USER2> I like how it has more I/O options than the real thing.</comment>


A New Digital Manifesto - <AUTHOR> https://anewdigitalmanifesto.com/ <comment><USER2> Along similar lines, John Perry Barlow's "Declaration of the Independence of Cyberspace" from 1996 is something I make a point to read often.

[https://www.eff.org/cyberspace-independence](https://www.eff.org/cyberspace- independence)

<comment><USER3> Thanks for sharing. Good read

</comment></comment><comment><USER4> Where's the right to forget?

If someone takes a photo of my driver's license and posts it on their website, does their right to communicate (and remember) override my right to have that photo deleted?

<comment><AUTHOR> Yes.

I realize that the privacy community is diverse, and different people have different opinions on this. In general, I've tried to be vague enough with how I stated rights so that they could be applied to multiple different situations. I wanted there to be a little bit of leeway and ambiguity.

However, on this point in particular, I take a hard stance:

> Users have the right to share information with others, _to share indexes of > that information with others_ , and to tell other people that the > information exists.

I explicitly mentioned indexes to respond to people who claim that forcing information to be de-indexed or removing it from search queries isn't the same as censoring that information. I respect people who believe that, but I think they're wrong.

<comment><USER4> According to your logic then, if I use a service to store personal artifacts online, then the vendor providing that service can use or modify those artifacts in any way they see fit. My only protection or recourse seems to be to limit participation to useless or irrelevant information. How is that any different from the present day Internet?

Any digital bill of rights that doesn't protect my rights to my own information is worthless.

<comment><USER5> Agreed, we still have the right to avoid having one's identity stolen, to take action toward making that more difficult, to protect our one real name IRL.

Parent: if you s/driver's license/credit card & CVV visible/, does your position change? It's "just another picture of a thing."

<comment><AUTHOR> Good question.

As a practical example, I am skeptical that Todd Davis should be able to force Wired to take down his social security number[0]. I am also skeptical that people should be able to demand that HaveIBeenPwned remove their information from a database.

On social security numbers or IDs, I am definitely more _open_ to discussing limits to the Right to Remember if they're very narrow and very rigidly defined, in the same way that I'm OK with exceptions to Freedom of Speech that are narrow and rigidly defined.

However, I want to posit that if infrastructure around identity verification is broken, we should focus on fixing the infrastructure, not curtailing rights as a band-aide. Identity theft is rampant because our identity metrics are horrible. Social security numbers are a joke. Credit card numbers are a joke; the only reason that system works is because banks are willing to reverse charges whenever identity theft happens. These are bad systems, but instead of forcing companies to fix them, we restrict user rights to make it easier to have some semblance of pseudo-security.

This same principle has come up in a few other places on this page, particularly with the Right to Filter, and whether that should allow a monopoly communication platform to circumvent the Right to Communicate. My take on that is similar: this sounds like an infrastructure problem. We wouldn't have an issue there if we didn't allow a private company to have a monopoly over communication online.

To me, it feels like people are attacking the wrong problem.

It's also important to remember that the Right to Be Forgotten is separate from GDPR. Where GDPR (arguably) is narrow and allows you to demand that a subset of companies delete specific PII, the Right to Be Forgotten is broad, and allows you to make demands regarding general information and your reputation.

I have some issues with GDPR as it's implemented today, and I won't go out of my way to endorse it, but I also won't take a strong stance that GDPR is incompatible with the Right to Remember. Readers can draw their own conclusions, but on GDPR, I'm neutral.

But I do take a hard stance on the Right to Be Forgotten. There's a difference between talking about edge-cases with IDs in a private, purely corporate database, and talking about deindexing news articles.

[0]: [https://www.wired.com/2010/05/lifelock-identity- theft/](https://www.wired.com/2010/05/lifelock-identity-theft/)

<comment><USER6> SSN as proof of identity is stupid. Any time proof of identity requires you to share all information needed for the party to impersonate you to other parties you know that you have fucked up and undermined the purpose of such proof.

It a sane universe you simply share proof of your secret and we move on to discussing policies regarding data about you instead of data you have a direct interest in controlling.

</comment></comment></comment></comment></comment></comment><comment><USER7> How do you reconcile the right to communicate with the right to filter? If I want to publish something on someone's platform, and they don't want me to, who's "right" wins? Similarly with the rights to hide and to remember.

I understand that rights are more like aspirational principles than concretely achievable properties, but I think this particular list of rights wants to give everyone everything.

Maybe the author could provide some more colour on what specific situations they have in mind and how the rights would be used.

<comment><AUTHOR> In the US, we see this same conflict with Freedom of Speech and Freedom of Association. It's a real conflict that does complicate things, but it's not so much of an issue that we've needed to revise the US Constitution (yet ;))

My short answer is that where public communication (one-to-many) is concerned, the Right to Communicate:

A) describes _voluntary_ communication. It doesn't give you the right to force someone to listen to you, it gives you the right to share information with someone who wants it. (I would be open to modifying the language if that distinction isn't currently clear.)

B) are designed to combat legal challenges (Facebook may ban you for talking about something they don't like on their platform, they shouldn't be able to sue you).

C) are designed to draw attention to infrastructure and monopoly problems (the existence of one company that controls a large majority of web content is in itself a threat to these rights).

These rights are purposely vague because I want them to be stronger than just my own opinion; I want them to be somewhat interpretable and adaptable.

However, in my opinion if I want to publish something and I have to publish it on Mastadon instead of Twitter, I don't consider that to be a violation of my Right to Communicate. If Twitter becomes the only way to publish content, or it controls so much of the Internet that publishing outside of Twitter is infeasible, then in my opinion it's reasonable to start talking about antitrust.

There's leeway there -- ISPs are always going to be gatekeepers just because of how the Internet is structured, so maybe we decide that it's OK to force Net Neutrality on them. In general though, we should break apart monopolies rather than force them to be neutral.

Bear in mind that the Right to Communicate is also about the right to encrypt message contents and to conceal message recipients, and to circumvent platform restrictions that try to remove those rights. The right to publicly publish information is only part of that, and is (imo) an already relatively well established right that I don't lose much sleep over. Other people may disagree with that, but I don't think Twitter/Facebook have as much control over modern communication as is often supposed.

<comment><USER8> Hmm.

Imagine you are running a forum.

A few users decide to use it to exchange some encrypted content,impenetrable walls of base64.

Should you be able to ban them, and remove their postings, if they don't listen to polite requests to stop?

How is this different from being an email service, or an ISP?

I mean, there are more relevant details than the very broad formulation assumes.

<comment><AUTHOR> To start with I definitely shouldn't be able to sue them or bring legal action against them. That would violate their Right to Communicate. If I put a clause in my EULA that said, "you can't post any information that I can't read," I don't have a right to legally enforce that clause.

However, as a forum owner, I have the Right to Filter the content and users on my forum, so I can ban them. And they're free to go to another forum and communicate that way.

Now, let's say that my forum is ridiculously popular, and completely entrenched, and that I take active steps to kill or buy any competing forums, and eventually my forum becomes the only way to share content online. I still have the Right to Filter, but you could argue (and I personally would argue) that my _existence_ as a monopoly is incompatible with the Right to Communicate. Essentially, I have privatized a public resource, and my forum should either be broken up or (if that's not possible) regulated like a publicly owned resource rather than as a private one.

That last point is where ISPs become interesting. ISPs aren't nationwide monopolies, but they are often regional monopolies. If your only choice of provider is Comcast, and Comcast doesn't follow Net Neutrality, then I would argue that Comcast's _existence_ is incompatible with the Right to Communicate. You don't have a choice of going somewhere else -- if Comcast filters, you just flat-out can't access public content.

It is very, very difficult to break apart ISP monopolies. Additionally, ISP monopolies consume large amounts of public funding and subsidies, which means the public can make a strong claim that they are borderline essential, public utilities, at least partially funded through public taxes and city-wide contracts. And without a neutral ISP that everyone has access to, the Internet just flat-out doesn't work. Because of that, I personally support government restrictions that force ISPs to respect my Right to Communicate. But if someone thought that was a bridge too far, I wouldn't say they were stupid. The ambiguity on that issue in the manifesto is on purpose; I want guiding principles rather than a step-by-step tutorial on every problem.

In regards to email, the same principles apply. Is the current system making it impossible for users to (voluntarily) communicate with each other? Spam doesn't count here, the Right to Communicate is not a right to force everyone else to listen to you. What is concerning about email to me are cases where untrusted IPs mean that multiple parties who _want_ to communicate with each other are getting emails bounced and/or silently rejected with no way to fix the problem or bypass it.

If you wanted to make a case for regulating an email service with some version of Net Neutrality, you would need to make a case that email is a fundamental public utility that users/communities can't just avoid or bypass, that providers like Gmail/Yahoo are so big that they can't be broken up or unseated by normal means, and that they're currently failing to meet the standards that their size/power demands. I think making that argument about email providers is a lot tougher than making it about an ISP. But again, different people might reach different conclusions.

</comment></comment></comment></comment><comment><USER9> Nietzche said something along the lines that we get the rights we fight for, and we will lose those we stop caring about. Are you willing to die for your right to, for example, filter?

At some point the pile of rights will start conflicting each other and will also start becoming too costly to enforce. Sorry for being overly cynical but I stay hopeful that in the near future code literacy will be as common as alphabet literacy thus allowing anyone to circumvent these trespasses.

Edit: I would expand the right to filter to include the right to sort. I was thinking about it earlier today when searching for what used to be a popular post on Reddit. I thought I'd find it by sorting by all-time top but the number of members community had grown considerably since that post was submitted there, making what used to be a very popular post actually insignificant. If I would've been able to sort I would've been able to normalize the votes count so that it is relative to the number of members in the community at the time of submission.

<comment><USER10> > Nietzche said something along the lines that we get the rights we fight for, > and we will lose those we stop caring about. Are you willing to die for your > right to, for example, filter?

Whys such extremes? All you really need to be willing to do is to write some software to perhaps scrape data and then filter them locally. Certainly there's no need to die. Or did I miss something?

</comment></comment><comment><USER11> This manifesto forbids moderators from banning users on a forum! It's completely unworkable. I profoundly doubt whether the author has ever moderated a forum before, say nothing of a meaningful social media site. Why should we listen to any of this?!

<comment><AUTHOR> Banning users from a forum is literally the second right I list.

> Both users and communities have the right to filter and organize the content > they consume and host

[https://anewdigitalmanifesto.com/#right-to- filter](https://anewdigitalmanifesto.com/#right-to-filter)

<comment><USER11> That's not what filtering means. Filtering is kill files, ignoring people you want to ignore. (Look at that icon, of a person plugging his _own_ ears.)

If I've banned you from my forum, you've lost your right to communicate there. If I can do that, if Facebook and Twitter and Hacker News can all "de- platform" you, all without violating your right to communicate, then the right to communicate means nothing.

<comment><AUTHOR> See the thread on [https://news.ycombinator.com/item?id=21444900](https://news.ycombinator.com/item?id=21444900) for more details on why the Right to Communicate and the Right to Filter are not mutually exclusive.

The TLDR:

\- The Right to Communicate describes voluntary communication between multiple parties that want to communicate, not the ability to force someone to listen to you.

\- The Right to Communicate is not a right to access to every single private platform or community, any more than the Right to Modify is a invitation to hack 3rd-party computers.

\- Nevertheless, it is valuable to have a right that guarantees access to encryption, including encrypted metadata, and that enshrines a right to create, distribute, and host communication tools, including websites.

If it's not clear to readers that filtering content includes filtering content sources, I'll look into making that text easier to understand. But I do know what the Right to Filter is intended to mean, because I wrote it.

</comment></comment></comment></comment><comment><USER12> There's no date on this, or other contextual information. Wayback machine seems to suggest this is newly published.

This seems to reuse a lot of material from the "Internet Citizen Bill of Rights" started sometime around Jan 27, 2016.

[https://github.com/Cypherpass/InternetCitizenBillOfRights/bl...](https://github.com/Cypherpass/InternetCitizenBillOfRights/blob/master/README.md)

And there's a subreddit for it: [https://old.reddit.com/r/InternetBillOfRights/](https://old.reddit.com/r/InternetBillOfRights/)

Daniel Shumway, please feel free to get in touch.

<comment><AUTHOR> It's all extremely mysterious! ;)

I'm unaffiliated with the Internet Citizen Bill of Rights, this is the first I've heard of it. I don't have any major criticisms of the document, but I still probably would have written my own manifesto even if I had known about it. Some of these seem a little over-broad just based on a quick glance, and at the very least I would have wanted something with more detail than just headers and a one-sentence description.

> For questions, comments, and criticism, write to <prefix- > here>@anewdigitalmanifesto.com.

If you have questions/comments you're uncomfortable posting on HN, I'm pretty sure that email address works, but I haven't really tested it.

</comment></comment><comment><USER13> I think the right to communicate is a part of a right to freely express oneself, which would be much more meaningful to codify in my opinion.

<comment><AUTHOR> Would you be willing to expand on that?

My instinct is to think of self-expression as a subset of communication, so I'd be curious to hear your thoughts on what parts of self-expression aren't currently being encapsulated or covered.

<comment><USER14> I'm trying to think of counterexamples to each approach. Can one express oneself without communication? Can one communicate without expressing something about themself, or, slightly more relaxed, without having someone perceive something about them?

</comment></comment></comment><comment><USER15> > Users have the right to subvert software and platform restrictions that > would force them to consume content that they do not wish to see, and to > teach other people how to subvert these restrictions. Users have the right > to distribute software that circumvent technological restrictions for the > purposes of personal content filtering.

How about "Users have the right to not use software that forces [...]"? I have a hard time agreeing with the idea that people agree to a ToS and then have a right to abuse the platform. Seems like that could lead to an inconsiderate/unsafe/unfair place for other people and stakeholders in that platform. I understand that anyone can do whatever they want whenever they wish and that it's up to the platform to battle "subversion" and misuse – but I don't believe it should be an indoctrinated imperative.

This applies to most of what is found in "Right to Modify". I think there's truly a legal nuance to who owns what (especially when a lot of folks are currently renting their phones from their device manufacturers or service providers).

The sentiment seems to elevate the end user and expose the software developers a bit more than I personally care for. There should be more emphasis on the responsibility of users to understand what they are getting themselves into.

EDIT: I drew my guns too quickly and forgot to mention I appreciate most of the other points and its simple presentation. I see the OP in the comments and commend ya for taking the leap.

<comment><USER16> The great thing about the right to modify is that it's a natural right. I can use uBlock Origin and no one can stop me unless they engineer a tyrannical system. Users reverse engineer programs and subvert restrictions because internet companies are notorious for breaking the law or crossing ethical boundaries without paying for it. EULAs often contain illegal clauses, so it's unreasonable to ask people to follow the EULA. At the end of the day users will (barring some Orwellian software restrictions imposed on everyone) do what they want and take whatever liberties they can to browse the internet without restrictions and without tracking if that's what they want. If internet companies didn't want this to happen, they shouldn't have fucked over consumers at every possible opportunity.

</comment></comment><comment><USER17> What about the right to appeal / speak to a human arbiter? If you get banned from a major service like Google or Facebook or Amazon it can have major ramifications on your life.

</comment><comment><AUTHOR> Hosted on Netlify, so [https://web.archive.org/web/20191104180034/https://anewdigit...](https://web.archive.org/web/20191104180034/https://anewdigitalmanifesto.com/) for anyone running into problems related to their current CDN outage.

</comment><comment><USER18> Is it implicit that these rules apply don't apply to the workplace or other situations that aren't public?

<comment><AUTHOR> That's a good question.

My intention was yes, there is an expectation that if you're renting a computer on behalf of an employer or accessing their internal network, that's a different situation than using a personal device. In the same way, circumventing a captcha to automate logging into an account you own is a right I imagined being protected, but exploiting an XSS vulnerability to scrape private data behind a login is not.

I would be open to having my mind changed on where that line is. I'm cautious about trying to nail down a very hard line about what is and isn't 'public', because I see some ambiguity (using a personal device for work, using EULAs to enforce non-disparagement clauses).

With Right to Remember, I felt like I needed to at least allude to that distinction:

> and archiving information that _they have lawful access to._

But I didn't feel comfortable drawing hard lines elsewhere. If I found a solid metric that I felt could be easily, universally applied, I'd be willing to adopt it.

</comment></comment><comment><USER19> "the right to publicly publish..." seems redundant.

<comment><AUTHOR> I've heard a lot of people in my own circles use the word publish to refer to posts on private platforms like Facebook that aren't publicly accessible.

It is a bit redundant, but I wanted to be certain I got across, "you have the right to put information on the Internet where everyone can see it, not just to post in someone else's walled garden."

</comment></comment><comment><USER20> I was with this right up to The Right to Modify.

If I create something, I get to say how people use it. That's the core of the wonderful proliferation of software licences.

If I don't want people to see the source code of something I write, either because I don't want to deal with the criticism or because I've hidden some malicious nasty in there, then that's my call. Anyone can choose not to execute my code on their machine, that's their call.

Anything else ends up enforcing a defacto GPL on the world.

<comment><AUTHOR> Without the Right to Modify, it is very difficult to guarantee any of the other rights I've listed. Most of the rights I list have provisions explicitly outlining that users have the right to circumvent DRM, captchas, and other technological locks that prevent them from exercising their rights.

Without the Right to Modify, anyone could restrict any of the other rights on this page just by flipping a few bits in software and calling it DRM. Imagine if a website operator could sue Gorhill because Ublock Origin circumvented anti-adblocking measures in clientside code.

<comment><USER21> The problem is realistically, DRM exists to prevent unlawful access and use. Your "right" narrowly avoids the topic by claiming users only should have the right to circumvent that which prohibits access they're legally entitled to.

However, imagine a term of service that only grants access to a website in exchange for viewing ads. (This is the implicit contract of ad-based web viewing from the beginning, but websites aside from some streaming video platforms have not really "enforced" the fact that users pay for content by viewing ads.)

<comment><USER22> > imagine a term of service that only grants access to a website in exchange > for viewing ads

Lets first imagine that the term of service is fully understood by the users. The tracking is explained and understood, the trading of personal data, the auction of targeting advertisement to anyone, the lack of liability in case of malware. In that world it make sense that websites enforce the trade of access in return for all the above.

Until then we have the wild wild west that is online advertisement without regulation, liability or contract between the user and the publisher.

</comment></comment></comment></comment><comment><USER23> Overall good but needs some tweaking

</comment><comment><USER24> what about a right not to be manipulated (transparency of algorithms)</comment>


Beating Groupon in Korea By Offering Great Customer Service - <AUTHOR> http://www.businessinsider.com/how-to-beat-groupon-interview-bom-kim-coupang-2011-4

<comment><USER2> A small gripe, I know, but when the site offers a choice of seeing the article in multiple pages (aaarrgghh!), or seeing it in one, I really appreciate when the link goes to the 'all in one page' option.</comment>


WordPress Discontinues Support for Internet Explorer 6 - <AUTHOR> http://www.readwriteweb.com/hack/2011/05/wordpresscom-discontinues-supp.php <comment><USER2> They are only discontinuing support for the admin part of the package which is very javascript heavy. The default frontend theme will, I am sure, continue to support IE6 for a long time.

<comment><USER3> The new Twenty Eleven theme [1] doesn't fully support IE6 (there's comments on that bug) but I believe it works OK in it. As WordPress is completely themeable, there will probably be themes that support IE6 for years to come.

More interesting (for me at least) is that WordPress 3.2 will require PHP5.2 [2]. WordPress had lots of legacy code for PHP4 that made coding plugins for it a pain.

[1] <http://core.trac.wordpress.org/ticket/17198>

[2] <http://wordpress.org/news/2011/05/wordpress-3-2-beta-1/>

</comment></comment><comment><USER4> It's funny, I have been around so long in this game that I remember never really liking Netscape, ever.

IE3 in some ways made web dev fun and interesting again. Then IE4 took over and I was pretty happy using it as Netscape grew fat and slow. Netscape 4 was ok and that was the short lived first era of decent browser consistency.

I don't remember much about IE5, head down developing and skipping classes but I do remember when MS broke all our hearts with IE6. It started out all so well then it turned to mush and our faces melted as we glimpsed the future carved in exceptions and special handling.

Web dev from then until very recently has been haunted and stunted and repeatedly annoyed by efforts to include IE6 "Support". Out of a perverse loyalty to doing things well in all browsers and an employer's choices have meant that I have been one of those making an effort all these long dark years. Ten years with a corporate network that I believe is still running IE7 in compatibility mode today taught me lots of useless IE skills and.. creative thinking.

Thanks WP for joining the kill IE6..7..8 effort. 9 isn't bad but they will probably screw it up.

<http://infostripe.com/harold>

<comment><USER5> Not sure if you're aware of it, but the reason you're being down voted is not because of your comment (which is fine), but because you've included a link to your blog which adds nothing to the discussion and is generally not viewed as a positive thing

[edit: 1 - I upvoted you because I thought your comment was good. 2 - at the time of writing your comment looked to be at about -2 but now it's back in the +ve]

<comment><USER4> Ahh sorry about that I sign my link as a sig all the time out of habit. I guess in a way it could be related as that link is a project I work on that has minimal intentional IE6 support. :) I'll remember that tip regardless.

<comment><USER6> You can put it in your about in Hacker News.

</comment></comment></comment></comment><comment><USER7> This is fantastic news. Now if only Google would release Chrome for Win2K to un-obsolete many valuable Win2K licenses.

<comment><USER8> For what it's worth, Firefox 4 runs fine on Win2K last I checked.

<comment><USER7> Only with FF 4 has the browser been speedy enough to run on the typical kind of hardware sold with a Win2K license. Chrome is extremely fast and would un- obsolete so much more hardware even than FF4.

<comment><USER8> Chrome uses way more memory than Firefox 4. So it may in fact not run all that well on some of the lower-end hardware....

</comment></comment></comment></comment><comment><USER9> Cool! Wordpress are becoming part of the solution.

</comment><comment><USER10> There they go trying to be "hip" again, thinking they are important enough to cause trends.

They also stopped supporting PHP 4.4 which means hundreds of thousands of legacy installs no longer do automatic updates because their update code (purposely? lazily?) has a few lines that don't work under PHP 4.

IE6 is one thing to go "meh" about but WordPress installs that do not do fast easy updates are time bombs.

<comment><USER11> I can think of several large sites or organizations who have dropped IE6 support in the past year.

There's nothing lazy about not supporting PHP 4. It is outdated and flawed, and the last release was in 2008. PHP 5 has been out for over 5 years. The fact that those sites are timebombs is not WordPress's fault or their problem.

<comment><USER10> For modern code that starts off with PHP5 it's fine and understandable to restrict versions.

But WordPress is an "ancient" legacy mess and does not have any advanced code that benefits from PHP5 - you actually have to go out of your way to break it for PHP4. There is nothing in it that cannot be fixed for PHP4 without one extra line or two.

Note that 99.9% of WordPress3 works on PHP4 - only the security updating fails - and it fails in an uncontrolled way, not because it checks for the PHP version and stops - it actually fails silently (which is also typical WP style).

There are hundreds of thousands of shared servers that are still running PHP 4.4.9 just fine and WordPress has a responsibility to make sure security updates keep working if it's easy enough to maintain (and it is).

<comment><USER12> The best thing WP can do, security-wise, is ditch PHP4.

<comment><USER13> The best thing it could do security-wise is ditching PHP.

<comment><USER11> Not really, since that would of course mean a complete rewrite. The code is only as secure as it's authors make it, too - Python or Ruby are not magic bullets against XSS or SQL injection. While it would be fantastic to have WordPress in Python, and for the crufty and backwards bits to be cleaned up, old code that has been tested and audited is surely more secure and bug free than a brand new code base.</comment></comment></comment></comment></comment></comment>


Fairness Definitions Explained [pdf] - <AUTHOR> http://www.ece.ubc.ca/~mjulia/publications/Fairness_Definitions_Explained_2018.pdf <comment><USER2> I would say fairness is when people have peace with the outcome. If the mechanism behind an algorithm cannot be easily explained, then the outcome will be disputed. That is why I think fancy ML algorithms will never be considered fair.

Note that fairness and equality are not the same thing. For example, what is the most fair way to share one cake among two people? First person cuts, second person chooses. It's unlikely that the cake is equally divided, but neither can object the outcome, if they agreed with the mechanism beforehand.

</comment><comment><USER3> Interestingly, all of the definitions are a little short of true equality, true equity, true fairness of outcomes, etc. since they only take one POV into account. For a precise example, they give causal discrimination for a classifier based on whether the classifier can tell apart two subjects with the same attributes. Note that, if _no_ classifier can tell apart the subjects, then they are genuinely indistinguishable; the universe itself cannot casually discriminate between them either.

It's interesting that folks are slowly inching towards genuine algorithmic justice, but we are still focused on defining fairness from the POV of a single judge, and not from the entire integrated awareness of every participant in the community. I suppose that the latter is uncomputable...

<comment><USER4> Sorry, I do not understand you.

Even the cake cutting problem you mentioned below takes into account both POVs.

I'll also echo the sibling: what is true fairness? If it matches individual POVs, then why bother? If it doesn't then what's the use of it?

<comment><USER3> True fairness is justice: Everybody involved agrees that everybody involved has the best possible material outcome for themselves, even under permutations of perspective.

Concretely, imagine some judge Judy who is judging some dispute between some Alice and Bob. The article explores how we can evaluate Judy for fairness. However, justice is when Judy, Alice, and Bob all agree on an outcome which none of the three would change, _even if_ they were to be forced to swap bodies in some unrelated way after the outcome is assigned.</comment></comment></comment>


A Software Fix May Revitalize the Supercomputer (1995) - <AUTHOR> http://www.nytimes.com/1995/02/05/business/a-software-fix-may-revitalize-the-supercomputer.html?pagewanted=all <comment><USER2> The Tera was not a success. I remember people trying to get me to use it for graph problems, but it didn't really provide anything I couldn't do with a regular computer at the time.

<comment><USER3> Yeah, lots of people didn't try. What it provided was a way to get over 90% utilization of the processors (every processor issuing useful instructions most every clock tick) without worrying about cache misses. So relatively simple code, useful tools, and high performance. But if you didn't care about any of that, then it didn't provide much.

<comment><USER2> I'm familiar with how the architecture was designed, and if I had chosen, could have ported code. However, like I said, it didn't really perform any faster than a PC of the time on any code (even ones optimized for the platform). Writing massively multithreaded code, maintaining it, tuning it, and then keeping an entire separate platform for something that isn't measurably faster for a wide range of problems is a huge cost/burden to developers.

I certainly cared about performance but like most people we found that general purpose computers that ran all our codes quickly were not a cost/burden to developers.

<comment><USER3> I found lots of things that ran much faster on the Tera than on a PC. But yes, if you are happy with the performance of a general-purpose machine, then there's little reason to take on a super. Machine-room requirements alone would finance a lot of off-the-shelf hardware.

</comment></comment></comment></comment><comment><USER4> We had a Tera MTA (serial #2, IIRC) at SDSC when I worked there. It looked really cool, but I never got to use it.

Tera bought Cray Research in 2000 and renamed itself to Cray, Inc.

<comment><USER5> (Hi Keith!)

The article is from before they got their funding, the system (well, you know what it looked like, but for the rest of HN) looked like this:

[https://goo.gl/images/cPJQ89](https://goo.gl/images/cPJQ89)

It was more than 2m tall at the top, but the actual computer bits underneath the MTA "wave" case were smaller than people might think. I want to say it was a cube-shaped machined frame holding the CPUs/Memory/IO bits, maybe 3'x3'? I remember there being a smoke detector, what seemed to be a regular household unit, on the inside of the case...

IIRC, it was liquid-cooled w/ Fluorinert, and the cpus were on some custom GaAs process...I had to swap the control workstation for it at one point, and to make sure that the serial connection to it was still good I watched over Victor H.'s shoulder as he tipped in. While it was at SDSC, the Tera MTA ran a Tera-customized FreeBSD 3.3 OS.

Good times...</comment></comment>


Police to test app that assesses suspects - <AUTHOR> http://www.bbc.co.uk/news/technology-39857645 <comment> thunder-ltu Any remaining rights in UK is gone for good.</comment>


The NY Times New Hyperlinks: Link to individual sentences - <AUTHOR> http://www.theatlantic.com/technology/archive/2010/12/the-hyperlink-grows-up-the-times-releases-new-linking-features/67219/

<comment><USER2> I've been waiting for major sites to allow sentence-level highlighting. Way to go NYTimes -- it's a good start!</comment>


Ask HN: Guidance on leading junior development team - <AUTHOR> I've been brought in as the lead developer at a small startup (< 10 people) currently delivering 100% dev for hire. I've got some prior management experience but found looking after and training junior staff a much bigger challenge that I was expecting.
The founders made the decision to start the development team using junior staff they recruited through apprenticeship programmes. The current  team is comprised of me, a junior software developer and a junior web designer. By junior, I mean < 2 years development experience with no  degree.
A lot of my time is spent helping them get started with tasks, answering questions, fixing issues and checking what they've done works and isn't a bug ridden mess. I've established code reviews and encourage them to review my code and often walk through it with them. We sometimes do pair programming (not often) and are working on developing a practice of TDD.
Our projects are fairly varied and I worry about how shallow some of the learning my team is doing. Once we sign off one piece of work we're often moving into something entirely different (we take on anything from mobile with a cloud API back-end to a SPA integrating with third party systems). We reflect on the development process, but not really on the development itself.
I want to make sure I'm giving them the best opportunities I can and try hard to make myself available. I hold semi regular 1-1's and try to include them in discussions and decision making wherever possible. Unfortunately I feel that the more engaged I am in their daily work, the lower the chance of us delivering what we've agreed to deliver to our customers, I know this is the wrong attitude to have.
I'm incredibly conscious that the stage they're at with their career is formative so I want to make sure they're developing good working practices and a solid understanding of how to build software.
What can I do better to help my team grow and develop? Does my attitude need a re-think? <comment><USER2> I think your attitude is mostly right. As a junior developer, just having a senior developer _who cares_ already means _a lot_.

I am one and a half year into my first job as a developer, after a late-career from marketing at 37yo.

At the same time, I have a formal role as a mentor of two apprentices that are just starting to learn software development from scratch (a great program we have on our company).

So I feel I understand both sides.

One thing that is not good (but you can't change) is that the junior developers only have you to ask. I personally would not accept a job where there is only one senior developer. At least, you seem to have the right attitude, which is great!

Tutoring on good development practices (TDD, pair, code reviews, code design, etc), rather than language syntax, is the right choice because that is hard to learn on your own.

I wouldn't worry about the on-the-job learning being too shallow. The best case scenario for them is for them to feel productive, and not a burden. So if you are shipping things, it matters a lot. Even if you feel that they are not learning a lot from each topic.

So try to mitigate the trade-off between education and productivity. Try to break the development tasks for them, in very small and clear pieces, so they know what they have to do in a way that any doubt they can google it and keep moving.

That said, deep learning will be incredibly important in their careers. So also guide their learning time outside of work. They (as every developer) will have to reserve some time to study consistently outside of work. Try to guide what they are studying, by recommending books and courses. Your job here is to prioritize and give focus on what topics they are studying. There just too many choices. Too many topics, too many resources, too many channels, too many opinions to choose from. Set the topics yourself and guide them through what they should study.

My summary: prepare everything so they can be the most productive (deliver value to the company) in the work hours and guide them through what they should study in more depth in the off-work hours.

<comment><AUTHOR> Thanks for your reply soneca, I appreciate you taking the time to reply to me and you've given some good advice that I'm going to have a think about.

I've tried to steer clear of giving much off the job learning as it should be being handled by their degree provider and I didn't want to overload them, but I'm going to start thinking about giving them a training backlog to fill in some of the gaps.

I hope you're enjoying your first job as a developer. I've always enjoyed working with people who've come from alternative routes into development.</comment></comment>


Social App - Social Cloud - Sign up - <AUTHOR> http://www.yabb.me SignUp!!! For the closed beta!!!! Your social networks will never look the same...as everyone elses!! <comment><AUTHOR> Only 5000 will be able to reserve their spot and the closed beta</comment>


On the benefits of using C as a language back end - <AUTHOR> https://github.com/vlang/v/wiki/On-the-benefits-of-using-C-as-a-language-backend <comment><USER2> Debugging is not a problem per se. As an example you can see how Nim generates debugging info while transpiling to C with the --debuginfo --linedir:on options. The real problem with C transpilation is proper garbage collection support. A C compiler doesn't track roots and that means that for a language transpiled to C it is not practically feasible as of today to support garbage collection algorithms that are not conservative. There are published tecniques that should allow implementing full non conservative GC on top of C but they have remained in research settings so far.As a matter of fact the de facto standard GC for such langauages is Bohem's which has known limitations.

<comment><USER3> A C compiler doesn't track roots, but it does not follow that precise GC is impossible in code that compiles to C. You "just" need to make sure that your translator emits the appropriate code.

Nobody forces you to implement assignments in the guest language as literal C assignments. If a guest language assignment statement compiles to something like "assign(&target, value)", then your assign function can do whatever it takes to track roots.

<comment><USER2> Agreed that it can be done but at a considerable cost. Translating every assignment into a function call is within what I didn't consider feasible from a practical point of view. The best research papers I saw on this topic proposed to pass an additional "ghost stack" as a parameters in every function call that is structured in a specific way so that roots are not "optimized away" by the compiler.

</comment></comment></comment><comment><USER3> > The V compiler hasn't crashed once for me, and I haven't received any crash > reports from other users.

[https://github.com/vlang/v/issues/2838](https://github.com/vlang/v/issues/2838) "Compiler crash during filtering's assignment operation on a mutable array"

[https://github.com/vlang/v/issues/2565](https://github.com/vlang/v/issues/2565) "Compiler crash when using inexistent struct type in const block"

(One of these is from two days after the author wrote the above statement, but the other isn't.) There are other reports where the V compiler seems to generate C code that does not compile, or only with very nasty type warnings, for example: [https://github.com/vlang/v/issues/2960](https://github.com/vlang/v/issues/2960) [https://github.com/vlang/v/issues/2981](https://github.com/vlang/v/issues/2981)

<comment><USER3> (As always, I'm genuinely interested in the thoughts of whoever downvoted a factual, well-sourced post.)

</comment></comment><comment><USER4> This looks like an improved version of Go. The website claims that it will guarantee no data races at compile time (work in progress). I'd like to know how he plans to accomplish this as it's not a trivial problem to solve completely. Also, a lack of algebraic (sum) data types makes it much less attractive to me. Otherwise, neat little language.

</comment><comment><USER5> What about debugging?</comment>


On Design Thinking - <AUTHOR> https://nplusonemag.com/issue-35/reviews/on-design-thinking/ <comment><USER2> I studied Interaction Design in Sweden in 2008 and design thinking and IDEO was all the rage. It felt very superficial to me and just another way to indoctrinate students into believing business people really wanted to solve real, difficult problems, rather than just sell more stuff. I wrote a little about what I saw as the conflict between business and design here: [https://keyvan.net/2011/07/interaction-design-serving- corpor...](https://keyvan.net/2011/07/interaction-design-serving-corporate- needs/) and [https://keyvan.net/2010/03/interaction-design-in-the- corpora...](https://keyvan.net/2010/03/interaction-design-in-the-corporate- world/)

<comment><USER3> I've also studied interaction design and service design. In my experience the conflict between what a user/designer wants and what the business wants are so completely different it's just frustrating to work in projects like that.

Getting everyone onboard every time, when they are only looking for you to solve their problem the way they want it solved is just horrible.

<comment><USER4> You see this time and time again where products that were well received are turned into hellscapes to extract more money from users.

</comment></comment></comment><comment><USER5> Very interesting to read about one of the failed IDEO projects. It's hard to find anything even remotely suspicious of IDEO or its ideas, and that alone makes this piece worth a read.

The author talks about how Rittel and others rejected building design methodologies to apply to Wicked Problems, but once you define an alternative approach, how do we distinguish that from a design methodology?

<comment><USER4> A design methodology is supposed to be taken whole cloth to new domains. Whereas without one you are free to approach each new piece of work and domain differently.

</comment></comment><comment><USER6> One of the leaders at IDEO (and part-time prof. at the business school) spoke to my grad. class. He gave one of the slickest powerpoint presentations I've ever seen.

Good article, but I don't think it says much that should surprise us. Large corporate firms will inevitably end up talking corporate-speak, and sell a service whose actual value is lower than its luster. Moreover, in every field, there will be some practitioners who hold a myopic view when it comes to problem-solving.

There seems to be an aura about/around design stuff/work that blinds people to the very real fact that it is still just a business.

<comment><USER7> Slickest presentation? In what way? Is it online somewhere?

<comment><USER6> Not that I know of.

It was slick because of how high quality the designs, and colors, etc for each slide were. Most importantly, though, it was the best 'story-telling' I've seen in a presentation.

<comment><USER8> Design and presentation is IDEO's bread and butter, so it makes sense that make sure to get those things right when speaking to outside audiences.

<comment><USER6> Slick wasn't meant as a pejorative.

</comment></comment></comment></comment></comment><comment><USER9> Good design don't come from just asking question, it comes from understanding the need. Often time when dwelling in a problem space, an industry, a customer sector, there is a underlying common problem to be solved. But everyone articulates the problem differently. A good design is to find a general solution to all these seemingly random problem.

Have seen quite a few "designers" who drinks the koolaid of design sprint, design thinking, etc by asking everyone what everyone thinks the product should look like, then proceed to prototype a frankenstein that "addresses" everyone's concern. Not once did it end well

<comment><USER10> My girlfriend is a design strategist and I don't see that at all amongst her colleagues and friends. I think that's a very outside perspective on what designers must think like. Good designers are a lot smarter than that, and I've seen first hand how bad your example can end up. Usually, it's not the designer's fault, but the client.

Often, a client or your company has an idea about how something should look or function regardless of research, prototyping and testing. I've seen the process take place over wasted weeks just for a client to say, "Yeah, but that's not what we wanted or envisioned. Make it like this or make it fit somehow."

That's when I've seen products and services fail spectacularly while the designers and researchers ask themselves, "What was the point of all that work then?"

Edit: There's also kind of a branding problem with design strategists where, as someone else pointed out, a lot of them are just good at packaging and presenting mediocre ideas into really slick powerpoints and presentations. And many of these strategists even present themselves as very artsy and slick and can spout off very woo-woo lines of magic and dazzle with their charisma. It gives people who are exposed to these designers the impression that they're all just a bunch of snazzy consultants who offer no real value.

</comment></comment><comment><USER11> Good article. I think a lot of times, including with myself, design is used as a "hack" to somehow skips steps. It's not like IDEO had to design the whole mac, or design how the FIRST mouse would work, or the wiring, or the bluetooth. They had these tools and had to put them together, with already. If there is a goal way too far out and "design" is supposed to get you there, I would guess there will be a lot of speedbumps on the way.

Was the iPhone design thought largely out of thin air? Or was it brought about by people who understood and worked the the technology for years and that is what drove the design focus?

</comment><comment><USER12> Design thinking requires total control between input and output, and applied to the real world on a large scale this includes politics, which isn't compatible with democracies.

</comment><comment><USER13> Great article. I think many people in the design community measure their success by how many eyeballs they can catch. Ultimately it was the city commission that led to the poor management. They could have adopted a staged process but were likely getting misplaced advice from outsiders. From what I read, Ideo could have done a better job of setting expectations.

</comment><comment><USER14> I can't do design, and I have a lot of respect and admiration for those who can, but I have a lot of trouble seeing design thinking as anything other than formal terms applied to things that are obvious and intuitive ("human- centered") and the freshest buzzword phrase to make clients think something ordinary is actually special.

</comment><comment><USER15> The irony ... in order to solve for the stakeholder's assumed problem statement, the advice was to avoid assumptions...all assumptions, I assume, except the assumptions of the report.

From the article

> They prototyped and tested solutions to municipal problems. Finally, in > collaboration with the Blue Ribbon Committee, the IDEO team published a > report. It aimed to address the problem—an absence of "competitiveness" for > new business and talent—that Mayor Braddy had diagnosed.

And further down the article from the report itself:

> ("Instead of assuming," for instance, "that the right answer to dealing with > trees cut as a result of development is a policy to limit the amount of > trees that can be cut, why not ask the question, 'How can we maintain a > desirable degree of shade and tree coverage as part of Gainesville's overall > design?'")

<comment><USER16> From a human factors engineering POV, this is straight usability research. Instead of assumptions, use observations and interviews— then form problem statements. Instead of a single solution, form 'how' statements about intent. In Product Management parlance: speak in terms of problems, not solutions. The design cycle then moves to create product/refine product.

<comment><USER15> Don't disagree. It reads like they didn't eat their dog food though.

</comment></comment></comment><comment><USER17> I recently read about an example of IDEO "missing the forest for the trees" on the subject of transportation and urban planning:

 _The limits of design thinking: The most difficult design challenge is asking the right question_

by Joe Cortright (2019)

[http://cityobservatory.org/designed-to- fail-2/](http://cityobservatory.org/designed-to-fail-2/)

[https://web.archive.org/web/20190509170145/http://cityobserv...](https://web.archive.org/web/20190509170145/http://cityobservatory.org/designed- to-fail-2/)

Essentially, they applied "design thinking" to transportation without considering the role that locality plays in transportation.

</comment><comment><USER18> IIRC, I first read about IDEO in "Creative Confidence", a book I enjoyed and found personally inspiring. Looking fwd to HN comments on this ~recent article.

</comment><comment><USER19> Hard not to be cynical. IDEO is a design hammer... so they hit the nail that Gainesville gave them.</comment>


About coding bootcamp Coding House - <AUTHOR> http://joselcontreras.com/about-coding-house/

<comment><USER2> Hack Reactor grad here... thanks for sharing your story. I hope guys like Nick get cracked down on because they're the ones giving all programming bootcamps a bad name. (I was really happy with my HR experience and got several offers, so it's frustrating to see California BPPE go after everyone the way Nick + Coding House deserve.)

So sorry for what you went through with Coding House, and I wish you good luck getting a refund.

<comment><AUTHOR> I agree - I didn't want to believe there would be a bad program out there but Coding House is one. I won't stand by and let Coding House get more money. I wanted to let the coding bootcamp community know as well because of the bad PR towards bootcamps because of Nick and Coding House.</comment></comment>


Snapshots of the HN "newest" page - one per month - <AUTHOR> http://www.penzba.co.uk/HN_Snapshots

<comment><USER2> This is fantastic. From my perusal, I don't think the headline selection looks _that_ different from today. There aren't _that_ many hard-core programming related articles in 2009 for instance. I personally feel that it is more the small neighborhood feel of the commenting that has declined than the headlines.

(Also I had to laugh at this one from Feb 2009: "Confirmed: Apple and Adobe Collaborating on iPhone Flash")

 _Edit:_ and let me restate what I said from the other thread, I think it would be an improvement to hide the _total_ karma a user has in the system. The point is not to gain karma points but to stretch our minds and help each other. We would retain the feedback about individual comments but they would not add up to any measurable thing. It would have to be its own reward.

<comment><AUTHOR> Well, obviously not _that_ fantastic - it's not getting many upvotes, so will soon disappear. I find that interesting in its own right.

<comment><USER2> Maybe because you are limiting people's ability to complain. :-D

</comment></comment></comment><comment><USER3> nothing but a short title and data urls!

       - No rambling explanation about how you did it
       - No infographic
       - No pontification about why it's interesting
       - No links to your company or twitter account

thank you

</comment><comment><AUTHOR> Given some of the questions being asked on this thread

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

... I thought I'd present for your perusal some historical snapshots of the "newest" page. These are roughly one per month starting from Feb 2009.

Enjoy!

<comment><USER4> I think that "newest" is less indicative, since anybody can submit anything, and if the community ignores it, then little "harm" is done.

It would be more interesting to me to see snapshots of the _top_ articles, as we move through time. That would also show us what the readers were deeming relevant.

<comment><AUTHOR> Stand by ...

OK - done: <http://news.ycombinator.com/item?id=2255435>

Again, just one per month, taken on the 15th, and just one on that day, taken between 15:00 and 15:30 (except for Jan 2011 when that wasn't available)

</comment></comment></comment><comment><USER5> Also of interest: Random highly-ranked hacker news threads: <http://www.skrenta.com/hn/> by Rich Skrenta <http://news.ycombinator.com/user?id=jsrfded>

</comment><comment><USER6> That's nice work to go back in time. If you need to go back for a more frequent interval in the "newest" page, try <http://www.previouslook.com/hnews/new>, that snapshots HN newest every 15 minutes.

<comment><AUTHOR> I actually have snapshots for every 30 minutes back to Feb 2009, but I thought one per month would be enough. I'm considering summarising and cross- connecting items, but this was easy enough and gives most of the useful information. The 80/20 rule, and all that.

</comment></comment><comment><USER7> The links submitted are just one part of the overall quality of HN, I would even argue a small part.

What is much more valuable is the quality of discussion in the comments that is really where HN shines, or used to; however you feel.

</comment><comment><AUTHOR> Responding to a question in this thread, snapshots of the front page now available:

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

</comment><comment><USER8> Snapshots of Front, Best and Ask going back 8 months ago (with comments) in the archive drop down box: <http://hackerbra.in/> (with search)

</comment><comment><USER9> Great, this will be a great reference to evaluate changes in the community given enough time.</comment>


Gogo releases data on in-plane Wi-Fi usage across US airports - <AUTHOR> http://www.tnooz.com/wp-content/uploads/2013/07/PRN12-GOGO-CONNECTED-AIR-TRAVELERS-INFO-1y-1High1.jpg

<comment><AUTHOR> Not at all surprised to see SFO and JFK as #1 and #2, respectively, but some of the other data points are pretty interesting. For instance, I was surprised to see SNA (Orange County) as #3.</comment>


U.S. Government Admits That Marijuana Kills Cancer Cells - <AUTHOR> http://www.brandnew.hiphop/u-s-government-admits-that-marijuana-kills-cancer-cells-cancer-gov/ <comment><USER2> It's about time!

Spread the word to those on the fence about medical use, legalization, and decriminalization.

For your convenience: [http://goo.gl/1UYj7k](http://goo.gl/1UYj7k)

(that article link is too long to type into an SMS.)</comment>