Native Client d**k-swinging met with fake Googasm - <AUTHOR> http://www.theregister.co.uk/2008/12/15/dziubba_nativ_client/

<comment> old-gregg If he turned down his sarcasm just a bit, more people would actually see the point he's trying to make.

I too believe that browser-based HTML/CSS/Flash/Silverlight platform _is not_ the future. If some mad genius with a bunch of free time on his hands takes Cocoa, makes it _truly_ cross-platform and merges it with something like Debian apt and manages to achieve Flash-like market penetration, _that_ would be a killer platform to develop for: huge market (OSX/Windows/Linux + mobile devices that run them), native CPU speed, rich graphics, joy to develop for, seamless distribution - typing "apt-get install foo" is no harder than typing "<http://foomaker.com/downloads/foo>" plus your users won't have to deal with fucking login screens for everything and their shit keeps working on a plane.

I suspect the reason for web-app proliferation isn't technical, developing for the web just makes more business sense: you don't have to share your precious code because of those sweet GPLed tools you use, you cover Windows and OSX with one shot, you don't have to worry about folks pirating your software, and distribution/updates are much easier. Seriously, nobody needs a fucking web- based photoshop. What for? Collaborative red eye removal?

<comment><USER2> > Seriously, nobody needs a fucking web-based photoshop. What for? > Collaborative red eye removal?

Maybe so that their images are available from whatever computer they happen to be sitting at. That's what I use Google Docs for.

<comment> old-gregg That is a simple function of _storage_. There is no need to push tons of code around only to share a freaking document. Microsoft could have built a "cloud collaboration" tool into MS Word if they wanted to. In fact they have, but AFAIK it works only on Intranets and only if you purchase their proprietary server-side BS

<comment><USER2> Okay, so I go over to my girlfriend's apartment and want to show her something I wrote.

MS Word: Buy a copy of the server-side component for my server, set it up beforehand, buy a second copy of MS Word, remember to bring it with me, install it on her machine, set up the cloud collaboration tool to read from wherever I stored the document, display it.

Google Docs: Open a browser, log into Google, click on the document.

Right now the only reason all this stuff is web-based is because browsers are everywhere. If you think about it, your cross-platform environment basically _is_ a browser. You type in a URL, it downloads some code and runs it. It saves back the data you make to the place it downloaded the code from.

You just want a browser that's more designed for applications than documents, which is (I think) what Google was going for with Chrome, only it's not that popular yet because most of their early adopters are on Macs now.

<comment> old-gregg _Google Docs: Open a browser, log into Google, click on the document._

At the cost of being basically a Notepad with fonts. Which is probably less than 1% of what MS Office can do. Oh, and if your favorite Starbucks loses Internet connection you're fucked. During startup school 2008 Paul Graham was asking the audience to "stop using the Internet" because his freaking presentation wouldn't load.

I think the "dream runtime" I envisioned above beats this nightmare hands down.

 _If you think about it, your cross-platform environment basically is a browser_

Yes, the browser is the runtime stack, albeit a very crappy one with big limitations and huge legacy, which is why, I believe, browser-based apps are not the future.

JavaFX, Gears, Flash, Silverlight - they don't exist because someone was bored. The pressure of going back to desktop-style development is growing.

<comment><USER2> You don't want desktop apps, you want a better browser. Put in a URL, download software from it, run it locally. That's a browser.

The only thing that Google Apps is missing from that is that it periodically has to hit the server to save your documents, and that its interface isn't as flashy, because current browsers suck.

Bringing out MS Word into your argument only confused things, because traditional get-it-on-a-CD software is a huge step backward no matter how much nicer the GUI toolkits are.

<comment> old-gregg If you want to make a point, you better come up with arguments better than "because I say so". I have given you fairly detailed technical advantages of native software and offered an explanation why we have (temporarily, I hope) moved back to the stone age, only to hear nothing but heard-it-before Web 2.0 marketing pitch devoid of any factual support.

BTW it's 2008, nobody installs shit from a CD. Ever heard of a package manager? Also look at iPhone apps: here we have a computer which is online 100% of time by definition, yet all that neat software for it is strictly "traditional". That's because "traditional" kicks ass, users like it, plus Apple solved the distribution problem. Solve that problem on a generic PC and you don't need the browser anymore.

<comment><USER2> > I have given you fairly detailed technical advantages of native software and > offered an explanation why we have (temporarily, I hope) moved back to the > stone age

I don't think you really understand why we moved back to the "stone age" at all, or exactly what kind of stone our age is. I also really don't think you're reading my comments, because fundamentally, we agree.

Just making something "native code" isn't a silver bullet that automatically makes it awesome, you know. If it's really native code, then it's only going to run on one OS and one architecture. You would have to make it something slightly higher-level, like a VM, or an interpreted language. Have it talk to a native API.

Then, of course, the API should be a least-common-denominator of a bunch of different platforms. So fancy Quartz effects that won't work on Windows, you'll need to either not provide them or mark them as platform-specific (thus making people not use them).

Think about what you want here. You have an application, your dream platform thing. It connects to a remote server, downloads some code written for it, and runs it locally. That code talks to an API provided by the dream platform that lets it draw GUI widgets and take input, in a manner standardized across a bunch of platforms. It then (in my ideal world) uses the server it got the code from for storage.

 _That is a browser._ It's the same thing. All you want is a browser that uses Cocoa instead of HTML/CSS, and can store apps in a cache and run them offline. Which, don't get me wrong, is a great idea. It means throwing away backward compatibility with the web, but it's still a great idea.

Thing is, congratulations, you're the ten millionth person to have this idea. It's not a bad idea, but it's by no means new. And the problem it solves is the same one that's how we got into the "stone age": distribution.

Browsers suck? Great, make a better browser then. I'll download it. Probably even write apps for it. Just stop pretending it's a "return to desktop apps".

(As for the iPhone, I think it's a long way from having "solved the distribution problem". Very onerous terms of service and approval process mean that most of the apps suck, and probably always will.)

<comment> old-gregg Ahhrr... Sorry I must have misunderstood you then. If you insist on calling any dev stack with built-in code fetching capability a browser, then I think we both agree we need a better one. :)

<comment><USER2> Yeah, really the only part of your comment I was replying to was "why would anyone want web-based Photoshop?"

Sorry if I flamed you.</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment>


Intel reveals world's smallest wireless modem for the Internet of things - <AUTHOR> http://venturebeat.com/2014/08/26/intel-reveals-worlds-smallest-wireless-modem-for-the-internet-of-things/

<comment><USER2> It's a 3G modem. Now all we need to do is convince AT&T et al not to charge $30/mo for each device connected to their 3G networks.</comment>


Thoughtbot's Playbook – The internals of how Thoughtbot runs a sw company - <AUTHOR> http://playbook.thoughtbot.com/

<comment><AUTHOR> Just found this and thought it would be nice to share.

It's a nice collection of all the things they do at Thoughtbot, and while many might be already known for some people it's refreshing to have them all in one page.

Also, it's useful because if you are new to something you can "see" how they do it.

Nice work, and it surely also helps them onboarding new members of the staff.</comment>


Show HN: CloudFetch Never miss interesting stories on HN/ProductHunt/any website - <AUTHOR> https://cloudfetch.info/ <comment><AUTHOR> Hi HN,I build this tool to help me collect interesting updates on my favorite websites such as Hackernews, ProductHunt, Github trending, IH and so on. Hope this tool can help you been better synced with your favorite info source</comment>


Ask HN: Need of a legal structure for a website that makes money on autopilot? - <AUTHOR>

Hi all,
I have been building a little website that I was thinking of putting online for free, and eventually make some money out of it with Ad Words depending on how well it is doing. Do I need a legal structure to do that?
I very often see posts on HN about people having some sort of website on autopilot, generating money. When I see those, I always wonder how people manage to legally "cover themselves". Cover themselves against what you may ask... let me explain. I will not enter into details about what the website does, but I will give an example that will be close enough so I can explain my concerns. Let's say that I build a website that allows users to create their groceries lists. Users can then see theirs list, edit them, delete them, etc...
This implies a few things: - Users have to register, which means I will have to at least store information such as an e-mail address for password reset, and a password.
- I will also have to store the groceries list themselves.
Is there anything else I would HAVE to legally store? For example, I have seen a few website stipulating that you need to be over 13 years old in order to register, is that something that anybody owning a website would have to store and verify as well?
Also, what if your website doesn't deliver what it says it offers? For example, imagine that the groceries list get messed up (I know... stupid example), and that some of the items don't appear on the list...
If a website is generating money with Ad Words, does this mean that you HAVE to have a legal structure? What if you provide a "service" such as the groceries list?
Does the fact that using the website is free changes any of those concerns? <comment><USER2> Being vauge really doesn't help, but alas... I'm not a lawyer, but:

\- You need to be in compliance with COPPA, which means you don't collect info from children under the age of thirteen without parental consent

\- Your terms of service should protect you from whatever bad things happen if your groceries get lost

\- You don't have to store anything else unless you're dealing with financially related things (banking, stocks, etc)

<comment><AUTHOR> So no need to incorporate? Is it pretty much like having a blog?

<comment><USER2> If you make money it's probably a good idea. If you lose your customer's "groceries" and they sue, it's going to be against you personally instead of the company. If you incorporate, they can only liquidate the company's assets and not yours (if you're an LLC)

</comment></comment></comment><comment><AUTHOR> What do I need to do if I just want to "test" my idea and offer an online service for free then? Do I need to incorporate to protect my assets, even if I don't charge users for the service?</comment>


AT&T Is Offering $50K To Engineers To Make New York City Safer For Pedestrians - <AUTHOR> http://techcrunch.com/2014/06/01/att-is-offering-up-50k-to-engineers-to-make-new-york-city-safer-for-pedestrians/

<comment><USER2> While I applaud AT&T's effort, I don't believe there can be a technical solution to this problem (short of complete ubiquity of driverless vehicles). These types of opt-in solutions are mostly irrelevant, because the people interested in using them are already displaying the required level of responsibility.

The root of the problem is not distraction, it's a lack of respect, education and enforcement of existing traffic law.

I live in a tiny suburb of a medium-sized city, which is billed as pedestrian- friendly. Unfortunately, the two-lane road leading through the village is relatively one of the busiest in the city, as it is the most direct non-toll route for commuters south of the city.

The solutions created by the municipality to make the streets pedestrian- friendly all require participation by both the driver and pedestrian. And they never work.

For example, the village has several crosswalks which are not at intersections. All of these have fluorescent signs placed in the middle of the road, reminding drivers that pedestrians have the right of way. However, you can routinely wait at one of these crosswalks longer than it would take to walk to an intersection and wait for the light to change. I've watched women who are visibly pregnant and/or with strollers wait multiple minutes for someone to stop and let them cross. And even then they're not guaranteed to have people stop who are driving in the other direction, forcing them to stand awkwardly and dangerously in the middle of the road.

Almost immediately after a recent vehicle-pedestrian accident, the village placed poles holding several fluorescent orange flags at each of these non- intersection crosswalks, in an attempt to increase pedestrian visibility. Even while waving one of these flags, approximately 1 in 15 drivers will acknowledge someone is at the crosswalk and stop for them.

This is on top of all the illegal right-on-reds, ubiquitous failing to signal, and all of the other violations that people don't care about anymore. Partially because they are almost never enforced and everyone knows they can get away with it, but also because people just simply don't give a fuck about other people. Those same 14 out of 15 people who refuse to acknowledge basic traffic laws will never participate in opt-in solutions.

So, unfortunately, I don't see how the solution will ever be technical. It can only be through education, increased standards and enforcement of those standards that roads will become safer.

<comment><USER3> Building a large skyway system is a technical solution that would have a huge impact. However, they seem to be limiting things to cellphone apps which seems rediculus. Though, an app for pedestrians to automatically report cars breaking the law might work.

<comment><USER2> I wish it were possible for civilians to file reports against drivers and have it be taken seriously. My understanding is that, unless an officer witnesses the violation, filing charges is at the discretion of the district attorney. Even with video or photographic evidence provided by the civilian, charges seem to very rarely be filed.

</comment></comment></comment><comment><USER4> The implication is that this is limited to mobile phone apps, which makes sense for AT&T.

I don't think this is the kind of problem that will be solved by phone apps though. The word "Engineers" is a little misleading, as it's mostly aimed at Software Engineers.

I was envisioning some gates that rise from the street to prevent red light running, for instance.

</comment><comment><USER5> "In New York City, 14,845 crashes between cars and pedestrians were recorded in 2013, a 35% increase from 2012."

That is stunning to me. 35%?! That's an enormously large effect. I can see why AT&T is concerned.

I wonder if someone has done a careful study of this to verify that the effect is in fact due to cell phone usage and not some other factor.

</comment><comment><USER6> Related: how pedestrians cross streets in Vietnam where the never ending flow of vehicles pays no attention to traffic lights or zebras - [http://www.odditycentral.com/travel/the-art-of-crossing- the-...](http://www.odditycentral.com/travel/the-art-of-crossing-the-street- in-vietnam.html)

TL;DW: people just cross slowly but steadily across the neverending moped and car traffic. Insane. And apparently, rather safe.

<comment><USER7> I've seen this previously as well, and unfortunately it only seems to make a good story and doesn't seem to be actually measurably true. According to [http://en.wikipedia.org/wiki/List_of_countries_by_traffic- re...](http://en.wikipedia.org/wiki/List_of_countries_by_traffic- related_death_rate), Vietnam has 63 fatalities for 100,000 vehicles compared to the US's 13.

When you consider the numbers across countries, they show that traffic lights do work in reducing fatalities - and the developing world has a huge problem with motor related incidents.

[1] [http://www.economist.com/news/international/21595031-rich- co...](http://www.economist.com/news/international/21595031-rich-countries- have-cut-deaths-and-injuries-caused-crashes-toll-growing)</comment></comment>


Senator Warren "Rigged Justice" Report - <AUTHOR> http://www.warren.senate.gov/?p=press_release&id=1050 <comment><USER2> The title at the linked page is:

'Senator Warren Releases "Rigged Justice," First Annual Report Detailing How Weak Federal Enforcement Lets Corporate Offenders Off Easy'

Retitling this link to 'Senator Warren Releases "Rigged Justice" Report' would make it clearer.</comment>


Ask HN: How difficult is it to get an internship if I have zero experience? - <AUTHOR>

I'm seeking a summer 2013 internship in the San Francisco Bay Area. There's tons of opportunities available, but after doing some research it seems like only the most elite students get these positions. Folks from Cal, Stanford, and Ivy Leagues snatch these positions without any trouble.
I'm just a guy who is finishing his community college classes and wants some work experience before transferring to a 4 year college. I've taken various math, C++, Java, and UNIX classes but I don't have much experience outside of that. I'm currently teaching myself data structures/algorithms and try to code little programs implementing them. There's a few other languages I'm playing around with, but its nothing serious. Aside from that, my programming ability is a bit weak, and I'm worried I won't be able to compete with the other applicants.
My main strength is that I'm a fairly quick learner. Given a language or technology, I can probably learn it pretty well in 1-2 weeks with lots of studying. When it comes to actually implementing that knowledge, I'll need a bit of guidance. I'm still a newbie after all.
So what kind of qualities in an intern are companies looking for? Do they expect the intern to be a "rockstar coding ninja" or are they willing to take in a complete newbie and let him try to stay afloat? Also, would I be expected to do whiteboard coding during an interview to one of the smaller companies? I'm obviously not applying to Google or Facebook, but smaller companies. For instance, I'm interested in: Ooyala, Evernote Corporation, Terravide, and a few others like that.
I'd appreciate if someone could give me any insight, and perhaps even suggest any places to apply to that are willing to take in people like me. Thanks. <comment><USER2> You probably would be expected to do whiteboard coding in an interview. Places like Ooyala and Evernote might not be as large as Google, but they still have a pretty high programming bar.

If you're having trouble even getting in the door, the best way to turn a medium resume into an good one is to have interesting projects on github.

Failing that, the best strategy is to apply to more companies, and to not just restrict yourself to companies even as large as Evernote. Go for smaller startups. You could try, for example, contacting every single YC startup from the past few years. A friend of mine got a dream job at an NFL team this way - he applied to every American professional sports team every year for a few years, and despite a 99.7% failure rate, his persistence eventually got him a job.

</comment><comment><USER3> Fear not.

No, the Ivy League is not a hard requirement. I know two people off the top of my head that graduated from a school ranked > 100 that both now work for Apple. (Compared with say, Stanford, whose rank is tied at fifth in the 2012 US News rankings)

There are a couple details: 1\. They did not immediately start at Apple. Both worked elsewhere for 2-4 years at other locations. (Places that were less than the Google-Amazon-Apple tier) 2\. They both were ridiculously hard workers. Like every second I knew them, they were working. Are they cooking dinner? Oh OK, while something sizzles they would turn around to the laptop and write either half of a line or one or more lines of code.

</comment><comment><USER4> If you think you can learn things in weeks then I'd suggest you teach yourself a language that some of the companies you are interested in work with. Then just hit them up in spring and say you taught yourself in only weeks so imagine how much you can learn in months with them. Thats my two cents. Besides that a bit of hustle and luck will get you into companies you want.

</comment><comment><USER5> Shoot me an email (in profile).

<comment><AUTHOR> Just sent it!</comment></comment>


New games for the Atari Lynx - <AUTHOR> https://atarigamer.com/articles/in-2019-we-have-eleven-new-games-for-the-atari-lynx <comment><USER2> Admittedly I have never tried the real hardware, only emulators. I wasn't even aware of the Lynx's existence during my youth until years after its demise. I have seen the unit on a few occasions out in the wild though. On paper, the hardware looks amazing and was way ahead of any portable game system at the time. Not only could it display in color, but it also supported scaling and rotation effects.

The story of its creators, Epyx, is a sad one though. Epyx was traditionally a software company, not hardware, having released hit games like "California Games". They signed a deal with Atari that basically gave Atari the rights to delay releases of Epyx software for any QA issues Atari found.

Atari was being run by Commodore founder Jack Tramiel at this point, and he was known for his shady business practices. Atari abused this part of the contract with Epyx, forcing Epyx to delay their software releases until the company was bled dry. And then Atari took what was left of Epyx for a bargain, including ownership of what would become the Atari Lynx (originally the "Handy"):

 _Facing financial difficulties, Epyx sought out partners. Nintendo, Sega, and other companies declined, but Atari Corp. and Epyx eventually agreed that Atari Corp. would handle production and marketing, while Epyx would handle software development. Epyx declared bankruptcy by the end of the year, and Atari essentially owned the entire project_

[https://en.wikipedia.org/wiki/Atari_Lynx#History](https://en.wikipedia.org/wiki/Atari_Lynx#History)

I am glad that Atari imploded a few years later. Good riddance.

Sega also ended up lifting a lot of the Lynx's design for the Game Gear after the Handy was pitched to them by Epyx.

There is also an amusing story about how Epyx's pitch to Nintendo of Japan went terribly wrong, though I can't find it now.

<comment><USER3> > Not only could it display in color, but it also supported scaling and > rotation effects.

IIRC the Lynx was designed at a time (1986-87) when this was feasible for portable systems but not for consoles, because of its low resolution (160 x 102 - the height seems strange until you realize that it gives you almost exactly 16 * 1024 pixels).

> Sega also ended up lifting a lot of the Lynx's design for the Game Gear > after the Handy was pitched to them by Epyx.

The external design, maybe, but the internals of the two machines are very different. The Game Gear uses a Z80 to the Lynx's 6502 and has tile-based graphics where the Lynx uses a bitmapped display. The Game Gear is essentially a portable Sega Master System - a console that predates the design of the Lynx.

> There is also an amusing story about how Epyx's pitch to Nintendo of Japan > went terribly wrong, though I can't find it now.

It's here: [https://www.retrogamer.net/profiles/hardware/atari- lynx/](https://www.retrogamer.net/profiles/hardware/atari-lynx/)

 _"We were the first non-Nintendo people to learn of the existence of the Nintendo Game Boy," Needle says, recoiling even at the memory. "We were crushed. Joe was infuriated. The Nintendo boss left the room and we just sat there, wondering what to do next."_

<comment><USER2> Interesting about the resolution, since that was 1/60th the number of pixels as the NES. The Lynx did have a 16 bit graphics chip though.

The Epyx guys claim that Sega lifted their design for the Game Gear some time after their pitch. I think this meant the look and feel of the system-- both the horizontal orientation and idea of using a color display. According to Epyx, Sega still got it wrong and produced a crappy design in comparison. To be fair, the Lynx was a far more capable system.

<comment><USER3> > According to Epyx, Sega still got it wrong and produced a crappy design in > comparison. To be fair, the Lynx was a far more capable system.

Making the Game Gear more-or-less a portable Master System was probably the right decision though. It enabled easy porting of existing Master System games, and development of new games to run on both platforms. Although the SMS was dead in Japan and North America before the Game Gear's release, it was still going strong in Europe and other markets.

It also made possible the Game Gear's SMS mode, in which the machine behaves _exactly_ like a Master System. This allowed backwards compatibility with existing SMS games via an adapter (which seems to have been important to Sega - the Genesis has a similar capability), and enabled an even simpler method of porting SMS games: a few Game Gear games [1] are really SMS games with a built-in adapter.

The Game Gear therefore had a stronger software library than the Lynx, despite being technically inferior. And, ultimately, the overwhelming success of the Game Boy showed that it is the games (and battery life) that really matter.

[1] [http://www.smspower.org/Tags/SMS-GG](http://www.smspower.org/Tags/SMS-GG)

</comment></comment></comment></comment><comment><USER4> Retro gamer/collector here that's been in and out of the Jaguar scene since the '93 launch, and I can say this with the utmost respect:

Atari systems don't die, they just go into the public domain where they tend to live forever on an inexhaustible well of community involvement. The Jaguar and Lynx both have a _lot_ of activity every year, and this one more than usual.

<comment><USER2> True, the Jaguar is disproportionately popular in the homebrew community compared to how many units it sold.

<comment><USER5> Why is that? I tried watching the Angry Nerd review of Jaguar and it was all negative. Is it because it had some good under-utilized hardware?

<comment><USER4> Pretty much; very few homebrew groups out there have been able to do much with the hardware except to complete previously unreleased games.

However, there're a lot of Atari ST ports coming from AtariAge, and a good half-dozen homebrew titles of variant quality being sold on physical cartridges (and CDs for that vanishingly small demographic) each year. YMMV.

<comment><USER5> Interesting, I've been meaning to play Another World on a retro system...

</comment></comment></comment></comment></comment><comment><USER6> I had an Atari Lynx and about 30 games. I had a carrying case and wall adapter as well because it ate batteries like crazy. I gave it to a friend who had a computer museum.

There is an emulator for Lynx games here: [https://atariage.com/Lynx/emulation/index.html](https://atariage.com/Lynx/emulation/index.html)

It reminded me of a hand held Amiga or Atari ST even if it had a different chipset.

</comment><comment><USER7> The Lynx is one of my favourite machines ever. Satisfying and chunky, great sound and music, and some really impressive games like Warbirds which was a flight sim with with a polygonal world and pseudo-3D sprites.

Kudos to those involved with this effort (and the wider scene), but I've still got a unit that runs after all these years, and I'll be very sad when the actual hardware dies and only emulators remain.

<comment><USER8> > Satisfying and chunky,

Which model did you have? I had the short fat one.

> Warbirds which was a flight sim with with a polygonal world and pseudo-3D > sprites.

Both my brother, I and two of our friends had the Lynx. It was pretty magical setting up that token ring network cable and playing games like Todd's Slimeworld 4 way.

<comment><USER9> Warbirds and Slimeworld :) The memories just came flooding back. Loved that machine!

</comment></comment></comment><comment><USER10> You can see the games here: [https://www.youtube.com/watch?v=buQEBn4wORw](https://www.youtube.com/watch?v=buQEBn4wORw)

<comment><USER11> Thanks for sharing. I wish true portable consoles would come back but I guess the rest of the world didn't want them to.

<comment><USER12> With the exception of the Nintendo Switch, portable consoles died due to the cost of all-custom hardware and the rise of smartphones and tablets. Bluetooth controllers can even be paired to phones and used in some games.

Besides, other than Nintendo, who would even make such a thing? (And it should be noted, Ninentdo has _two_ entries here - they're still producing the 2DS XL version of the Nintendo DS.)

Sega's got out of the hardware business, thanks to Sony's shenanigans. Microsoft has a portable gaming system with the (x86) Microsoft Surface. Not a "true" console, as it runs windows and not a heavily locked down GameOS, but some would consider that a plus.

Sony stopped production on the PSP Vita only earlier this year, so it's only freshly dead and shows Sony hung onto the idea of a true portable console for as long as possible.

An interesting entrant into the area, though, is Nvidia, with their Shield. Discontinued, it was still an interesting product. Thing is, it leaned on Android for its operating system, but that's not to say smartphones killed "true portable consoles", but that Android broadened the base upon which portable consoles could be made. There are a handful of handheld game devices that could not have existed before.

</comment></comment></comment><comment><USER13> Anyone know how people are making homebrew Lynx carts? (The actual physical plastic and electronics part)

<comment><AUTHOR> Yes, you need one of these - [https://atarigamer.com/pages/lynx-cart- programmer-pi-hat](https://atarigamer.com/pages/lynx-cart-programmer-pi-hat)

<comment><USER4> Didn't even realize about the Pi Hat. Thanks for this!

</comment></comment></comment><comment><USER14> Tse wonderful)</comment>


Putting terabytes of memory into servers, the cheap way - <AUTHOR> http://news.zdnet.com/2100-9584_22-6231810.html

<comment><USER2> The value of adding vastly more memory in a server is obvious. However, could someone explain the problem that required solving by a team of 20 people?

<comment><USER3> Chip design is hard. Measure twice, cut once.

<comment><USER2> We've got one article ( <http://news.ycombinator.com/item?id=123263> ) in which memory controllers are being brought on-die to increase speed. We got another article ( <http://news.ycombinator.com/item?id=123158> ) which describes adding another tier of memory controllers to increase throughput.

The latter could be hard to design if you were retro-fitting a tree of pipelined memory controllers and you were concerned about interoperability. However article makes it look like an attempt to bodge extra address lines.

<comment><USER3> I think it's more about extra chip selects and reducing bus loading. AFAIK, standard DDR2 memory controllers only support so many ranks on the bus, so MetaRAM introduced some muxing to make four or eight ranks look like two. It's a clever hack.</comment></comment></comment></comment>


Remotely installing Debian using a web browser - <AUTHOR> http://wiki.debian.org/DebianInstaller/WebInstaller/

<comment><USER2> Hmm, I see a bit of a chicken-and-egg issue.. How do you configure the IP address if there's no monitor or input devices? Most colocated sites I've worked with requires static IPs. Perhaps it could be burned on the CD - add a tool that takes that info, and makes a ISO specific for that server. CD-Rs are expendible anyway these days. I could have used that last week. I had to drive serveral hours to go onsite to install a Debian server. If I could have mailed a CD-R to the guys, and done the install remotely, I could have saved a bunch of hours.

<comment><USER3> In a datacenter where you control the DHCP assignments, it would be fairly easy to determine the IP address of a new server, since the MAC address is usually on a label somewhere on the chassis.

For a remote install, you could either configure the IP before burning the install media (as you suggested), or have the installer scan connected USB devices for a known config file name, and load configuration from it. That way, all you would need to do is have the colo tech load a file you emailed them onto a thumb drive, and then insert that into an available USB port on the server before starting installation.

</comment></comment><comment><USER4> Wow - this is exactly what I needed this morning actually. Is this mirrored anywhere? The site is down it appears.</comment>


Einstein, Heisenberg, and Tipler (2005), by John Walker - <AUTHOR> https://www.fourmilab.ch/documents/eht.html <comment><USER2> This is a gem. Fun, Physics, CS and written by John Walker, founder of Autodesk, Inc. and co-author of AutoCAD. How could this have never been shared on HN so far?

It's dated 9th August 1995, so the date in the title is wrong.</comment>


TCL to Stop Selling Blackberry Branded Devices - <AUTHOR> https://www.cnn.com/2020/02/03/tech/blackberry-smartphones/ihdex.html <comment><AUTHOR> I've got nothing but love for my Verizon KEY2 LE. Finally, someone got a keyboard phone right.

<comment><USER2> It's weird how the keys are aligned vertically rather than staggered like other desktop and smartphone keyboards, though. I wonder how they came to that decision.</comment></comment>


A Brief History of the Web - <AUTHOR> http://keepsite.com/a-brief-history-of-the-web/ <comment><USER2> Great article. Looking forward to reading the rest of the series.</comment>


History isn't a 'useless' major - <AUTHOR> http://www.latimes.com/opinion/op-ed/la-oe-grossman-history-major-in-decline-20160525-snap-story.html <comment><USER2> > It teaches critical thinking

Not my experience. Actual critical thinkers lose half their IQ points as soon as talk turns to history. People who know last week's history as reported by journalists has to be taken with a big pinch of salt, yet cling to whatever narrative of centuries past they've once read in a book, as if they had first hand knowledge.

</comment><comment><USER3> A liberal arts education makes someone broadly informed and fairly well rounded, who says that is useless?

<comment><USER4> Those who don't need (or want) [employees|voters] who can think?</comment></comment>


Effective learning for software engineers - <AUTHOR> http://nywkap.com/learning/effective-learning.html <comment><AUTHOR> I am sorry for the repost but inspired by recent "Benjamin Franklin technique" I though this blog post of mine might be of interest to some people.</comment>


Ask HN: How would you sort HN users by quality of comments? - <AUTHOR> Suppose you wanted to generate a list of HN users who consistently provide high-quality comments.<p>What metrics would you use to construct your formula? <comment><USER2> I don't think it's possible.

A high-voted comment isn't necessarily high-quality, just really popular. I recently had a command get to 36 points [0]. I'm honestly not convinced of it's quality, even though it's my own comment. It was as a strongly worded opinion based on a high level of cynicism, not research. But people liked it, so it got a decent number of votes.

[0] [https://news.ycombinator.com/item?id=19060284](https://news.ycombinator.com/item?id=19060284)

<comment><USER3> Reddit still can't figure it out. "Best" sorting is clearly curated by mods, at least in the top 4-5 comments on real popular posts...the only valuable sorting on sites like this is "Top," "Bottom," and most "Controversial" (most down votes/up votes).

</comment></comment><comment><USER4> Maybe something like (# of comments upvoted - # downvoted) / (total # of comments) or (total # of upvotes - total # of downvotes) / (# of comments)

You could tweak this to say that downvotes get heavier weight, say.

You could also look at number of replies, but a flamebait comment could also get a large number of replies, so that might not be a good metric.

You could also look at the number of times their posts have been flagged.

None of these are foolproof. You're probably going to have to experiment to find something that you think gives sane results.

I admit that I'd like to see your results...

<comment><USER5> I believe your idea makes sense. With time, people may learn a way around it however. One technique I use, is that if I were going to post something controversial, I just put it on a random domain and submit it as an article. Article submissions are only subject to flagging and not downvotes.

</comment></comment><comment><USER6> "High quality comments" for a user in general is completely subjective. They might have "high quality comments" on C programming, and "low quality comments" on marriage equality. You'd need a custom filter for every possible topic of conversation, and even then you'd have to filter based on what _you_ find to be "high quality".

It's easier to just filter based on popular opinions or popular people, which is what karma is for.

<comment><USER7> This is a high quality comment and yet it's at the bottom fot some reason.

</comment></comment><comment><USER8> Read their comments, decide if I like them.

</comment><comment><USER9> Hand select comments and produce a training set. Train some model, pump every comment through it. Make a histogram of all the values you test and any user that is a statistical outlier from that dataset (towards higher values) will be added to a list of "high quality" posters.

</comment><comment><USER10> "Squawk to Talk" ratio

Squawk = number of words in your hacker news comments

Talk = number of words in children of your hacker news comments

<comment><USER11> I don't agree with this. Some people write comments that are completely false or outdated, which is followed by a series of corrections and tangential discussions.

</comment></comment><comment><USER12> Something along the lines of:

Comment scores for all comments added together (with negative scores taken off) / number of comments. A bit simplistic, and prone to echo chamber effects (high rated may just mean they say things they know everyone will agree with), but it's probably the most objective setup here, given the lack of miraculous super smart AI to 'judge' quality on any deeper level.

<comment><USER13> In addition to echo chamber effects, this would strongly favor comments in popular threads. This may or may not be appropriate, depending on how you define "high-quality."

<comment><USER14> > this would strongly favor comments in popular threads

Sum the total number of upvotes and score based on that. Track an independent score for downvotes. Display the two scores separately, in addition to the ratio between them. The MVP could be as simple as `votes_for_user_in_post/votes_in_post`. Scores would be intentionally low, you're looking for a track-record of greatness and not a once-off jackpot (or crackpot) opinion.

There could be further improvements with population distributions: if most of the comments are receiving between 2 and 10 upvotes, a comment with 20 is truly exceptional (for that post).

The problem that follows is that early comments that are mediocre will likely get more upvotes than late comments that are great. You're strangely aiming for the inverse of the HN comment ranking algorithm. StackOverflow has this problem: quick answers that are _barely_ good enough typically receive more upvotes, and S/O hasn't solved that problem.

</comment></comment></comment><comment><USER15> I don't think comment karma is publicly available through the site or API, but average comment karma could be calculated based on total karma of user minus sum of post karma divided by number of comments.

<comment><USER16> You can get karma via the points field, at least for older content:

Example: [https://hn.algolia.com/api/v1/search?query=bar&tags=comment](https://hn.algolia.com/api/v1/search?query=bar&tags=comment)

</comment></comment><comment><USER17> An aggregate metric based on comment karma scores would probably be the most useful. That said, you will need other HN users to grant you access to their accounts to be able to get this data.

</comment><comment><USER18> I'd do is solely by the number of times their comments have been favourited by reputable users say over 2k rep.

</comment><comment><USER19> I would use only my own votes since quality is merely an opinion.

</comment><comment><USER20> what do you mean by 'consistently' ?

</comment><comment><USER21> Whatever metric you use, since HN as a community is effectively training the metric, you'll simply capture what HN users consider as "high-quality" comments.

HN users do have their biases (in my opinion):

\- Anti big company (GOOG, APPL, ... Lees so for APPL thouhg)

\- Mostly left leaning

\- Value political correctness over accuracy

\- Anti defense and government (loathe 3 letter agencies, despite being fully cognizant of their mission statements)

I personally do not consider any comment falling squarely in the above silos to be high-quality, but you'll see them being consistently up-voted by the community.

<comment><USER22> I think what you've picked out as biases on HN really just reflects your biases.

Are you by chance right-wing? I'm solidly left wing and personally more often see the opposite bias permeate HN comments for the various topics you listed.</comment></comment>


Solving The Scoble Problem In Social Networks - <AUTHOR> http://techcrunch.com/2011/07/09/scoble-problem-social-networks/

<comment><USER3> Google+'s structure – specifically circles – allows for solutions to this problem that would feel completely natural. Everyone who uses Google+ also uses circles, it's not tacked on and optional.

Circles could become a powerful tool for filtering your stream (by, for example, allowing you to pick which circles appear in your stream by default) and it's certainly also easy to imagine other options, e.g. the ability to disable notifications from certain circles.

At the moment all your circles are displayed by default and you can't, for example, select more than one circle at once to filter your stream. It's either all circles or one circle.

I can't imagine that Google won't add such options. The UI is a bit of a challenge – I'm certain they want to keep it simple and not add a few dozen checkboxes to the circles page – but certainly a solvable challenge. I'm not too worried about it but it's certainly true that now is the time to complain about such shortcomings.

</comment><comment><USER4> This is pretty easily solved with my current setup. I have a "Following" circle filled with prominent developers or tech celebs whose posts I find interesting. There are a few with the firehose problem, where either they post constantly or have way too many people commenting on their posts. When browsing G+, I typically just hang-out in my Friends, Family, or Acquaintances streams. If I comment on a firehose post and don't want to see notifications about it anymore, I just mute the post.

I could definitely see the advantage in them adding the ability to mute a circle from the master stream.

<comment><USER5> But that 'Stream' page used to be useful until I added Scoble.

I want _muted circles_ , which don't show up in the Stream. That way I can make 'Following' a muted circle and my Stream page remains useable.

</comment></comment><comment><USER6> This is something that Google+ needs to deal with immediately. It's also a problem that Twitter faces.

Certain folks tend to dominate or flood my Twitter or Google+ stream - <USER2> muting/blocking/unfollowing them is not really an option.

From a usability point of view, it would be great to have a slider or a similar control that will allow me to tweak how often Person X's posts are displayed in my stream. Everyone in a Circle is not equally important.

<comment><USER7> Why isnt unfollowing an option?

Unlike the author of the article I do find twitter a good conversational medium. I dont follow firehose people as it is not conversational. I havent quite worked out how/if i will use plus long term.

<comment><USER6> Unfollowing isn't an option because I'd still like to get the occasional post from Person X - just not as frequently as I'd like to see posts from Person Y.

I'm not talking about "firehose people" - my point is, it would be great if I could see (posts from Y) > (posts from X) > (posts from Scoble), even if they're all in the _same_ Circle. Currently, everyone inside a Circle is given the same weight.

</comment></comment></comment><comment><USER8> Previous comment here: <http://news.ycombinator.com/item?id=2727454>

tl;dr I really want to be able to mute people and/or entire circles. This won't "block" them; it just means that I won't have to see their messages unless they specifically target me.

</comment><comment><USER9> If they do a decent API and don't go the twitter route, I can see some very interesting clients that allow a lot of muting and maybe a rules engine type construct. Twitter messed up by killing any innovation in smart clients, maybe Google will not repeat that problem.

// yeah, I had a side project of a rules based twitter client - oh well

</comment><comment><USER10> Good points. Remineded me a lot of this recent article: [http://jamieforrest.com/2010/07/01/notifications-unread- item...](http://jamieforrest.com/2010/07/01/notifications-unread-items-and- information-overload/)</comment>


Are you going to let Microsoft finish falling? - <AUTHOR>

Nerds were excluded by the System, then severely bullied, then Microsoft came, then made a revolution, then nerds became geeks, then geeks stopped being severely bullied, then stopped being excluded.<p>Microsoft is falling. Are hackers going to let Microsoft finish falling? <comment><USER2> Really? Can you expand on that?</comment>


Optimal certainty-equivalent spending retirements with DataNitro - <AUTHOR> http://blog.streeteye.com/blog/2014/01/2534/

<comment><USER2> You can die penniless with _way_ less math than that.

The problem I have with this analysis is that -- at least with my first read- through -- it has no floor on income. It's just trying to maximize the amount of money spent during your lifetime, with the only penalty for spending early being that you don't earn interest on the money later in life.

The question most people want answered involves a floor to the amount of money they have to spend in the year. If I spend all my money at age 90 and manage to live to age 91, my regret isn't the 5% interest I missed out on, it's that I'm now destitute and homeless at age 91.

How do I maximize my expected lifetime spending while maintaining some floor on my annual spending?

<comment><USER3> In this framework, if you have a floor income, your utility is negative infinity below that, and 0 at or above that income.

So basically run the same analysis with that utility function which is the CRRA function as risk aversion parameter gamma approaches infinity.

Alternatively, read Bengen's 1994 article - using historical data at that time, the number he came up with was 4% and a 50/50 stock/bond portfolio - [http://www.retailinvestor.org/pdf/Bengen1.pdf](http://www.retailinvestor.org/pdf/Bengen1.pdf)

If you wanted to, you could segment your plan into a 'safe' withdrawal portfolio that puts a floor on your retirement income (assuming future is no worse than the past, which is of course not guaranteed), and one that maximizes spending/certainty-equivalent spending for some level of risk aversion.

<comment><USER3> (should have mentioned, I'm the author of TFA)

and, motivated by you guys, posted parts 2 and 3

[http://blog.streeteye.com/blog/2014/01/optimal-certainty- equ...](http://blog.streeteye.com/blog/2014/01/optimal-certainty-equivalent- retirement-plans-part-2/)

[http://blog.streeteye.com/blog/2014/01/retirement-plans- that...](http://blog.streeteye.com/blog/2014/01/retirement-plans-that- maximize-certainty-equivalent-spending-part-3)</comment></comment></comment>


How do you select a web development platform? - <AUTHOR> http://www.webdragon.com.au/main-site/welcome/selecting-a-website-development-platform

<comment><USER2> I get the feeling a lot of developers pick Ruby because it's cool, while businesses latch onto .Net because it's Microsoft. There really seems to be little more to it than that, most of the time.</comment>


70% of People Worldwide Pronounce 'GIF' with a Hard 'G' - <AUTHOR> http://mashable.com/2014/10/21/mispronounced-words-tech/ <comment><USER2> It isn't an acronym for Giraffics Interchange Format, after all. Hard "g" for the win.

</comment><comment><USER3> Hmmm. I pronounce 'data' as 'dar-ta' because I learned Latin at school and my ancestors were Italian, so I tend to use the Latin 'a' sound.

But no, it's 'gif' with a hard 'g'.

</comment><comment><USER4> Just like GIT.</comment>


FaceTime, iMessages hang in the balance after Apple loss to patent troll - <AUTHOR> http://arstechnica.com/tech-policy/2016/05/patent-troll-that-beat-apple-now-wants-judge-to-block-facetime-imessages/ <comment><USER2> Patents seem to have changed from protecting and encouraging innovation to become a tool to stifle it.</comment>


iPad-only is the new desktop Linux - <AUTHOR> https://medium.com/@chipotlecoyote/ipad-only-is-the-new-desktop-linux-de88b61b6d99#.qqq1nzmnx <comment><USER2> I think Chrome OS is more likely since it's got a full desktop browser (aka inspector etc) and it's getting Android apps. Surface-like hybrids running Chrome OS with the Play Store will be $1xx+ next year, even without that their sales are growing and younger generations are already using Chromebooks with browser-based workflows in schools where the iPad ended up embarrassing everyone involved.

The Android ecosystem puts the entire x86 ecosystem within reach including a bunch of Windows apps through a commercial version of Wine that has already been able to install the Windows version of Steam and games.

Underneath the hood it really is Linux and open source and accessible by design. This time next year it will be a serious alternative to _Windows_ , in addition to a much cheaper alternative to iPads. External GPUs and VR etc will probably work with Chrome OS years before iOS has any reason to support them as they have no software ecosystem around it.

<comment><USER3> My comparison between going iPad-only and using Linux on the desktop was more about suggesting that both appeal to people who like to figure out how to do things that may be a bit more complicated in their chosen environment than they are in mainstream ones. (I'm aware desktop Linux is easier to use these days, but it seemed to be a good analogy. I wasn't really intending it as a slam against either Linux or iOS.)

So I think you're actually making a case for a somewhat different point. :) But it's a very interesting comment. I haven't really been keeping track of Chromebook development, but I know it's rapidly growing in school use, which can be immensely valuable. The iPad can do very well in an educational setting, but Apple so far hasn't been willing to make the compromises necessary to keep it competitive with Chromebooks. (That's something they used to take much more seriously than people might remember: there was actually an "eMac" model only available to the education market for a while!)

<comment><USER4> Hey, interesting article. I can tell you I don't use Linux because I like a challenge. I use it because I trust it and have control over what it does. Don't like Ubuntu's sending searches to Amazon? Turn it off. Don't like Chrome? Switch to Firefox. Don't want to apply security changes right now? Click cancel. I use Linux because it's not Windows.

As a fellow Scrivener user trust me I was deeply saddened when Literature and Latte dropped support for my favorite platform; I realize I'm in the minority with this view about Linux and for that matter Android. Which is too bad because Android addresses your other complaint about controlling which app handles an action.

Android's Intents allow multiple apps to register their ability to handle given user requests and unless the user explicitly chooses a default an app chooser presents the user with the list of apps to satisfy the current request. Want your PDF to go to a viewer this time and editor next time? No problem.

This control is most obvious when you click the share option in any program - you get a long list of other programs and delivery options. E-mail this time, text the next, publish to instagram the one after that. It's one of the things I like about Android most versus Apple's walled garden.

</comment></comment></comment><comment><USER5> I have my own theories on why people want to make Linux / iOS their desktop.

People use Linux because they grew to hate Windows (and/or appreciate Linux) when OS X wasn't really an alternative. One factor in that might be that not everyone can afford a Mac. Also, when I got into Linux, it gave me a sense of pride, and I felt like I was part of the hacker culture (not black/white hat hacking but Facebook / Eric S. Raymond hacking). I think that's a motivation too. It's is (or was) _cool_ to use Linux at one point.

People go out of their ways to adapt to iOS because they like the idea of running their lives on a small, svelte device. It makes them feel more autonomous in ways desktops and phones can't. The technology isn't there yet (as you mention).

</comment><comment><USER6> Haven't those "each file is a copy inside the app" issues been solved since iOS9 with the document provider extension?</comment>


You don't have to be original to innovate - <AUTHOR> https://lifeofkeshav.substack.com/p/you-dont-have-to-be-original-to-innovate <comment><USER2> This very much reminds me of the "First, it was Craigslist, now it's Zapier" post with the concept of unbundling and repackaging. [https://news.ycombinator.com/item?id=23126455](https://news.ycombinator.com/item?id=23126455).

The framework is interesting, but I am having a hard time understanding how this can be put into practice. How can you repackage something as large as education?</comment>


Banning Some HFT Strategies Helped This Market Grow: Chart - <AUTHOR> http://www.bloomberg.com/news/articles/2016-03-08/banning-some-hft-strategies-helped-this-market-grow-chart <comment><USER2> I often wonder, why the need for speed. If stock markets updated once a day, would that really cause a problem?

The whole aspect of making updates faster, transactions faster will always lead to those who can afford it looking for an edge in speed and in most cases - getting it, aided or unaided.

But with such dysnimic speed any misdirection in price rise or fall can and has been in the past exhausebated and when you look at the impact again, wonder why so fast.

I can appreciete the fater exchanges operate the mroe transacitons and brokers just love commision, more transactions more commision and it was and always is a crux in any fiscal market.

Indeed the Llyods crash was due to many brokers factoring (watering down the pools of money in effect) risks (groups of insurance poiceys) so many times that when there was a big claim (asbestos) then the whole thing crashed as the pools of money to cover the insurance were eaten away so much by all this over factoring of the risks about with brokers taking a slice everytime it got passed about and reinsurance became a rererererereinsurance style affair that with so much commision taken out it was a financial timebomb awaiting to happen. Again can look more recently at mortgages and how companies polled those together as they do with insurance and reinsurance in much the same way. Though more case of hiding potentual asbestos risks in with less risker mortgages and the rest we all remember.

So can see why I do question the need for faster and faster stock markets when, too me daily would work and indeed even hourly. Would eliminate HFT and indeed make the whole market more stable and focused upon the companies and not what todays market become based upon somebody famous doing or saying something on twitter more then actual results.

<comment><USER3> I've also wondered the same thing. I've always been replied to with "it provides liquidity to the market" but I still don't see why anybody needs microsecond level liquidity. Seems like it provides marginal benefit over a minute or hourly quantized exchange at tremendous cost (to society).

<comment><USER4> TLDR: Compounding effects that add up over time, and extremely dubious use of the words "tremendous cost (to society)."

<comment><USER5> HFT is a tax on the markets (and by extension society).

<comment><USER4> I mean...that's kind of a hugely controversial point to just say as a fact. It also completely ignores the fact that HFTs employ a lot of different strategies, some of which are uncontroversially beneficial to the market (market making).

</comment></comment></comment></comment></comment><comment><USER6> The problem isn't HFT per se it's adverse selection. Large trades are more likely to happen if the exchange discriminates in _who_ participates in the exchange, not _how_ they participate. Regulation NMS destroyed upstairs trading in the US and is effectively making such discrimination illegal/impossible unless you operate a dark pool which cannot openly show prices.

</comment><comment><USER7> What if all stock market would adopt a strategy that orders are processed one per minute. Same way it works during opening/closing market.

Some advantages:

1\. All assets will be as liquid as they are now. Still got opportunity to buy/sell 8 * 60 = 480 times per day.

2\. Most of the HFT industry will be redundant. Instead of allocating super smart people on made up problem, they can solve more important social problems (e.g. robotics, curing cancer, aging, space exploration, high growth tech companies).

3\. Less day trading, encourage long term perspective.

<comment><USER8> 0\. Why once a minute? Why not twice? Why not once every 5 minutes? 15? 60? You can still buy or sell eight times a day so once an hour should be plenty.

1\. Putting "high growth tech companies" (we know you mean startups) in the "important social problem" bucket, especially in the same group as aging, cancer, space exploration, is tenuous at best.

2\. Until any of the above pay half a million a year plus huge bonus potential, I seriously doubt anyone going into HFT would give them more than a passing glance.

<comment><USER7> 0\. Just to be fair I think any discrete time auction would reduce HFT. No matters less if it will be 100ms or 15 minutes. Just a parameter that you can optimize based on your market.

1\. Not all startups are equal, but quite a few will create some lasting value.

2\. Unsure if most of this career alternatives will ever give that sort of gains. The question is where the gains come from? Inefficiencies in trading strategies of your retirement fund? Maybe those inefficiencies are always present if humans type orders? Maybe we should design stock market with human first approach, not HFT exploitable?

<comment><USER9> > Just to be fair I think any discrete time auction would reduce HFT.

But is the reduction of HFT qua HFT really the goal? Making a market low- frequency will by definition reduce/eliminate HFT as a strategy but you will still have a lot of trading activity done by well capitalized companies using lots of expensive equipment. They will just use different strategies.

</comment></comment></comment></comment><comment><USER10> It links to a slightly longer article [1], which provides a bit of detail, but doesn't elucidate.

First of all, how do you only allow passive orders? If an order is marketable when it arrives at the exchange, then is it rejected?

Second, how does this resemble IEX's speed bump? I'm very confused.

[1] [http://www.bloomberg.com/news/articles/2016-02-03/this- upsta...](http://www.bloomberg.com/news/articles/2016-02-03/this-upstart- market-hopes-to-grow-with-flash-boys-strategy)

<comment><USER11> Basically in their rulebook it says that all prop (as opposed to agency) flow must be passive, and if they find aggressive prop flow from a member they can terminate the membership.

The tie in to IEX is tenuous at best.

<comment><AUTHOR> Good explanation of IEX here: [https://www.fastcompany.com/3031242/a-no- nonsense-explanatio...](https://www.fastcompany.com/3031242/a-no-nonsense- explanation-of-iex-the-exchange-fighting-high-frequency-trading)

</comment></comment></comment><comment><USER12> Really, the article is one paragraph.

It quotes Doug Cifu, the head of the largest HFT firm in the world.

I don't know much about Aquis strategy for growing their exchange but if its anything like the aequitas exchange that has just opened in Canada then they get inflated numbers by begin the exchange off record where some banks get paid to report their large block trades.

<comment><AUTHOR> The article argues it doubled its share of public European stock trading since Feb. 8, when it banned what it considers a problematic high-frequency-trading strategy, just wanting to limit proprietary traders to passively providing price quotes, i.e. banning HFT firms which are parasitic orderflow frontrunners not market makers, and take zero risk which is about 99% of them.

</comment></comment><comment><USER13> As I commented in another related article, I think it in terms of "nuclear reactors", whose reaction times are crafted to match human reaction times (tens of seconds). Trading could follow the same principle.

Compounding with that, some studies say that trading itself causes most (2/3) of the volatility, so it is expected that µs-scale trading creates even more volatility.

<comment><USER14> > so it is expected that µs-scale trading creates even more volatility.

Could you help me understand why this might be expected?

</comment></comment><comment><USER15> great chart bloomberg

[http://tylervigen.com/spurious-correlations](http://tylervigen.com/spurious- correlations)</comment>


Show HN: Launched 1073 Open-source UI designs, updated daily - <AUTHOR> https://uidesigndaily.com/about <comment><USER3> Dupe: [https://news.ycombinator.com/item?id=22693016](https://news.ycombinator.com/item?id=22693016)

OP, FYI - <USER2> [https://news.ycombinator.com/newsfaq.html](https://news.ycombinator.com/newsfaq.html), "When a story has had significant attention in the last year or so, we bury reposts as duplicates." Hope you and your wife keep working on it and post it again in 2021 :)

<comment><AUTHOR> Oh damn! Thanks for the heads up. She sure will :)

</comment></comment><comment><AUTHOR> Hey OP here,

My wife finally launched her UI side project. I helped her with the technical stuff required to put it into motion.</comment>


What Made Lisp Different (2002) - <AUTHOR> http://www.paulgraham.com/diff.html <comment><USER2> I've done two successful startups with lisp variants in my career, and continue to do clojure development at Cisco. The advantages of using lisps are real, if you stay focused on the problem domain and stay close to the customer -- you have great agility and flexibility. Woe to those who are tool jockeys and get too infatuated with their tools and code base, because there is a lot of rope to hang yourself and your teammates with.

The first was a Common Lisp web app for resource management, that was recently sold. Not a giant payout, but over it's entire life, starting in 2000, it paid peoples mortgages and put kids thru schools.

The second was a clojure based malware analysis engine, which we sold to Cisco about 3.5 years ago. That was a more conventional startup exit. We have scaled that into a global product. Additionally, we are developing even more clojure products within Cisco, and hiring...

I know from hiring clojure devs for the last 6 years that there are alot of companies, big and small, using it.

<comment><USER3> "Woe to those who are tool jockeys and get too infatuated with their tools and code base, because there is a lot of rope to hang yourself and your teammates with."

Could you expand a bit on this? I'm not entirely sure what you mean, but sense some good advice.

<comment><USER4> Not the grandparent poster, but stepping in.

Lisp, due to its easy metaprogramming, gives abstraction enthusiasts rather more rope to hang themselves than languages which make abstraction inconvenient (e.g. Go, which has a simple type system, or Java, which is very verbose). So, if one isn't careful, it's possible to write a very clean, very nice Lisp DSL which is totally incomprehensible to anybody but the author, and thus hell to maintain over time.

Relevant quote, from [https://www.joelonsoftware.com/2000/07/22/microsoft- goes-bon...](https://www.joelonsoftware.com/2000/07/22/microsoft-goes- bonkers/) –

> When great thinkers think about problems, they start to see patterns. They > look at the problem of people sending each other word-processor files, and > then they look at the problem of people sending each other spreadsheets, and > they realize that there's a general pattern: sending files. That's one level > of abstraction already. Then they go up one more level: people send files, > but web browsers also "send" requests for web pages. Those are both sending > operations, so our clever thinker invents a new, higher, broader abstraction > called messaging, but now it's getting really vague and nobody really knows > what they're talking about any more.

> And if you go too far up, abstraction-wise, you run out of oxygen. Sometimes > smart thinkers just don't know when to stop, and they create these absurd, > all-encompassing, high-level pictures of the universe that are all good and > fine, but don't actually mean anything at all.

More here: [http://wiki.c2.com/?TooMuchAbstraction](http://wiki.c2.com/?TooMuchAbstraction)

<comment><USER5> > _So, if one isn 't careful, it's possible to write a very clean, very nice > Lisp DSL which is totally incomprehensible to anybody but the author, and > thus hell to maintain over time._

This is a myth. DSLs in Lisp are almost always done in Lisp syntax, no surprises. The idea of having a higher abstraction is to make the problem domain map more clearly to the code.

 _> totally incomprehensible to anybody but the author_

Now, what people who like to repeat this myth forget to say, is that when using an OOP language, say, Java, and using another's person code, one also needs to learn the classes that this person has created, the methods and how they interact. And this can be "totally incomprehensible to anybody but the author".

> _Relevant quote_

No, not relevant. Joel Spolsky is talking about device abstractions.

<comment><USER6> professional clojure programmer here, not a myth, DSLs often abstract _in the wrong direction_ and by departing from a language of values and function composition (eg by introducing macros) a bad dsl in fact becomes a barrier to good abstraction. Consider any DSL for html generation that predates React.js; react isn't even a DSL at all, react is values and functions, so there's all this good innovation happening around React that was all dead ends on 100% of pre-React DSLs.

<comment><USER5> >and by departing from a language of values and function composition (eg by introducing macros)

You are assuming that a DSL is done by using macros; which is incorrect; in Lisp you can easily create your own DSL using plain functions as well.

<comment><USER4> Sounds like maybe we're talking past each other. Would you mind clarifying how you're defining a DSL?

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> Rigetti Quantum Computing is a relatively recent YC startup that happens to use Common Lisp for building out their quantum programming language, compiler, and simulator stack. For those tasks, it has been an excellent choice, especially given the hugely exploratory and rapidly evolving space.

Rigetti hosted one of the Lisp meetups to talk about their use of Lisp and it was recorded in a talk "Lisp at the Frontier of Computation" [0].

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

(Disclaimer: I'm the speaker in the video.)

<comment><USER8> Whether you a pro lisp, anti lisp or agnostic, I think most HNers will find watching this talk time well spent.

I have no relationship with Lisp, YC, or Rigetti.

</comment></comment><comment><USER9> I absolutely love lisp. It's crazy how it's one of the oldest language around, yet it still has more features than many other newer mainstream languages.

At the same time, one of the reasons I don't like it too much for daily work, is how it encourages cleverness. This sounds silly, I know. But sometimes when there's opportunities for cleverness -- such as with C++ (meta) template programming -- I become too tempted to make my own code more clever instead of, you know, making it do whatever it's supposed to do. That makes me appreciate the relative dumbness of say, Go and Python (not that you can't be clever with Python, but it's not encouraged).

<comment><USER10> My biggest issue as well. People seem to be drawn to creating a DSL for their problem set, and then programming in that. I've thought of Go as the Anti Lisp, in that there will be NONE OF THOSE SHENANIGANS LIKE THAT HERE. I think that's why Go draws so much vehemence. It's the "No fun allowed" of computer languages.

<comment><USER11> I recently had to use Go for the first time at work, while generally Common Lisp is my go-to language.

I kinda liked it for a systems language. It has conveniences trickled down from higher level languages[1] that are missing from C & C++ and which make them such a chore to use

[1] for example: garbage collection and being able to print an object without have to import vast libraries

<comment><USER12> These are things that Lisp programmers take for granted, but it's difficult to convince most C/C++ programmers of the advantages of garbage collection, as if they wanted it they wouldn't be using C/C++.

<comment><USER5> >advantages of garbage collection, as if they wanted it they wouldn't be using C/C++.

There are garbage collection libs for C++ and they are used by C++ programmers whenever necessary.

</comment></comment></comment></comment></comment><comment><USER13> Lisps are like tiling window managers... Some have a taste for them. Most, don't.

Unfortunately some of the Lisp cool features are hard to implement without its simple syntax. Maybe the lesson is that _we should find a f way to have syntax-independent programming languages!_ Just as we expect any successful language to have at least a couple implementations before being taken seriously, maybe we should expect a language to have at least a couple different alternative syntaxes and instant perfect translation between them (with comments and code style preserved), so I can use syntaxA and work on same codebase with my colleague using syntaxB. Than we'll be sure any metaprogramming or code intelligence tools don't suck because they'll be _damn forced_ to not use the program text but the AST (that will _have to_ be standardized) as they should instead...

Lisps would not even seem so cool anymore if we could get our s together and build languages with (a) standardized AST representations and (b) multiple syntaxes... we've like already imported most lisp features into modern languages anyway, and standardized ASTs would make macros both trivial and manageable...

<comment><USER14> Imagine something like Go and APL compile down to the same AST, and imagine two programmers working on the same project with different syntaxes as you describe. The Go user one day finds a function called "life" that contains several hundred lines of code, which is clearly bad style and should be broken up, so he goes to talk to his APL using coworker who wrote the function. His coworker seems confused, "it doesn't seem too long to me" he says as he shows the APL function on his screen:

      life←{↑1 ⍵∨.∧3 4=+/,¯1 0 1∘.⊖¯1 0 1∘.⌽⊂⍵}

I think what you proposed is a good idea, but it's just an idea. We'd need some new innovation to make it work I think.

<comment><USER15> Your thought experiment shows how hard it would be. If we could do that, we could translate machine code into readable high-level programs.

To put it the other way around, it reveals something about how choice of programming language affects not only how we write a program, but what we write, and even how we think about the problem.

<comment><USER14> I thought about it some more and I think it would go the other way too. APL has a lot of very terse array operations, but in Go you might find a mix of loops and if-statements. Translating those arbitrary combinations of loops and if-statements into APL might be very very ugly, or even impossible.

Consider assembly or basic, which use a lot of goto-statements. It can get very ugly trying to fit some arbitrary goto's into the more structured loops and if-statements we're accustomed to.

<comment><USER15> Exactly. There's a kind of entropic arrow from higher-level to lower. Moreover the different high-level languages occupy different places in that same space. It isn't just that you can't easily translate between them. It's that they lead to different classes of system being created in the first place.

<comment><USER16> What should be possible, though, would be to distinguish a surface-syntax from the underlying code: e.g. a language that can transparently convert to/from c-style curly brace blocks, Pascal-style begin/end and s-expressions. possibly implemented as a bunch of git hooks that transforms to a normalized representation (as, e.g. prettier does for JS) on push and transforms to the programmer's preferred representation on pull.

<comment><USER15> I suspect you'd find that what look like surface differences actually go deeper into the meanings of programs, like a plant whose roots go deeper than one would expect.

<comment> le-mark There's a special level of Hell that involves streaming xml processing and cobol. Since cobol lacks dynamic memory allocation (speaking of cobol 85 here) and you don't generally build things like linked lists or trees, there's a limited number of things you can conveniently do with streaming xml data. Many cobol programmers are left with a feeling of despair, I wager.

The Sapir-Whorf hypothesis is certainly real in programming languages[1].

[1] [http://wiki.c2.com/?BlubParadox](http://wiki.c2.com/?BlubParadox)

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER17> I'd take advantage of this opportunity to start a discussion about a somewhat related article, the famed Blub article:

[http://www.paulgraham.com/avg.html](http://www.paulgraham.com/avg.html)

> The more of an IT flavor the job descriptions had, the less dangerous the > company was. The safest kind were the ones that wanted Oracle experience. > You never had to worry about those. You were also safe if they said they > wanted C++ or Java developers. If they wanted Perl or Python programmers, > that would be a bit frightening-- that's starting to sound like a company > where the technical side, at least, is run by real hackers. If I had ever > seen a job posting looking for Lisp hackers, I would have been really > worried.

17 years later and I still don't see all those Lisp startups :)

I'd argue that 8) will never happen because the gap between human parsing and computer parsing is too big. Except for a minority of human compilers that enjoy Lisp, most people don't, so this notation will always be a niche for mainstream programming.

<comment><USER18> > _17 years later and I still don't see all those Lisp startups :)_

Just survivorship bias from PG side (lots of Lisp based companies just gone nowhere) and gross extrapolation of the sole example his one Lisp company as some universal truth (and even for his company, it was more the idea, timing, skills, execution and luck, than Lisp of course).

</comment></comment><comment><USER19> If you want a good (IMHO) example of how Lisp can be made to "meet the problem" so to speak, take a look at this:

[http://www.flownet.com/ron/lisp/djbec.lisp](http://www.flownet.com/ron/lisp/djbec.lisp)

and take a look at the functions xpt-add and xpt-double. The details don't really matter. What matters is that what is going on here is a whole bunch of modular arithmetic. The details are described here:

[http://www.hyperelliptic.org/EFD/g1p/auto-twisted- extended-1...](http://www.hyperelliptic.org/EFD/g1p/auto-twisted- extended-1.html)

Notice how the Lisp code is virtually cut-and-pasted from that page, despite the fact that it's not Lispy syntax, and the mathematical operators are NOT traditional addition, multiplication, etc. These are operations on modular integers and elliptic curve points. And yet the code looks just like the source material from which it was derived.

To make all this magic happen required less than 500 LOC.

</comment><comment><USER20> As much as I like Lisp or Smalltalk, I cannot help but wonder if they are really great in the large. Smalltalk has a pattern called Double Dispatch that makes sense but seems to tightly couple the classes. I keep looking at, of all things, the VBX market in the 90's and wonder why we don't have those type of components with current languages. I think something based on agents that create loosely coupled systems where it easier to expand and replace parts would be a better place to look for a future programming language.

<comment><USER21> I wonder if there is a future for Pharo Smalltalk as a user interface and coding environment that uses backend services written in other languages. Last week I saw Python matplotlib bindings for Pharo and as I played with this, I thought of interfaces to TensorFlow, ML services at AWS, GCP, and Azure, etc. This idea probably does not make sense, but the idea hit me.

EDIT: like a replacement for Jupyter, but more capable.

<comment><USER22> Amber [1] is a Smalltalk that you use to develop in a Web Browser, but which will compile for you to JS on the back end.

[1] [http://www.amber-lang.net/](http://www.amber-lang.net/)

</comment></comment></comment><comment><USER23> There are two languages (families) I fell in love with that I can't use. Lisp and variants (Scheme) and Ada. Joy to work with, joy to write in, yet... whenever I try to write something more elaborate I hunt the web for libraries or toolchain is lacking this and that. Meh. I still haven't given up, but in the meantime I have come to terms that I am a C programmer and always will be. I enjoy C as well (yeah). Next step would probably be to write core 'modules' in C and glue (think in level above) that in Lisp or Ada. There's also this thing I never quite understood, but it intrigues me, is that some people apparently write Lisp which emits C out, or even assembly.

</comment><comment><USER24> Reading the article, I'm a little bit curious - I've heard a lot that more productive languages become less productive over a certain team size, since productivity typically comes from a lesser degree of strictness. Does lisp have similar problems?

<comment><USER25> Paul Graham's Viaweb was rewritten in C++ and Perl after the aquisition by Yahoo. I can imagine that this was easier to deal with for a large team than the original implementation in Lisp.

<comment><USER26> That's not unusual, historically some software had prototypes in Lisp. Some managed to get into production. Some even proved very hard to replace.

But that was at a time when more people learned Lisp, there was less choice in tools and the eco-systems were smaller. In the 70s/80s one could buy ten years into the future with the right hardware/software and government/military was financing.

Take for example the Connection Machine CM 1, an early massive-parallel computer with 2^16 processors. It was initially developed largely for and with Lisp. You could program it in *Lisp from a Lisp Machine - one of the most expensive co-processors. Fortran and C was added then for certain commercial users. Very expensive stuff and at least ten years ahead.

Today the landscape looks different.

<comment><USER27> The garbage collector for Microsoft's Common Language Runtime (CLR -- the VM for .NET) was written in Lisp originally and then transpiled into C.

<comment><USER28> Also, Apple's Interface Builder began its life as a Lisp program: [http://vimeo.com/62618532](http://vimeo.com/62618532)

<comment><USER26> Postgres started as a Lisp program, and turned out to be too difficult to develop in a mix of C and Lisp.

The Objectstore database was developed by former Lispers, who wrote an earlier object-oriented database in Lisp.

</comment></comment></comment></comment></comment></comment><comment><USER29> As much as I like Lisp, I don't think your choice of language will make or break your startup.

<comment><USER30> sure, within reason. I wouldn't try to build a product in a language where the available labor pool is tiny given the problem domain. For example, don't build an enterprise SaaS platform in pure x86 assembly; don't write device drivers in Delphi.

<comment><USER31> Eeeh. Having a small but not tiny labor pool can be beneficial in that the programmers you get are probably better than average, since average people don't tend to learn off-path languages.

<comment><USER30> Rare skills tend towards the expensive, either in money or time-to-recruit, or both. It can sometimes be worth it for specialist tasks, but I'd be cautious.

</comment></comment></comment></comment><comment><USER32> Lisp is everywhere these days. Look at destructuring, higher order functions .. this is just the tip of the iceberg. These genes stood the test of time and spread all over.

<comment><USER28> I'd rather use the whole thing rather than scattered bits here and there.

<comment><USER32> I think it's a "natural" thing. Contextually only ideas can be efficient, not the whole, so islands (languages, companies) grab what they can in gradual chunks.

</comment></comment></comment><comment><USER33> do any of the lisps have a package system like npm with tiny, nano libraries?

<comment><USER23> Roswell for lisps themselves and quicklisp for 'libraries', and then there's ASDF as well.

<comment><USER34> ASDF appears to have been deprecated in favor of Quicklisp, or rather, Quicklisp appears to be the next generation of ASDF, since I saw asdf functions inside of Quicklisp.

<comment><USER35> > ASDF appears to have been deprecated in favor of Quicklisp

No, ASDF and Quicklisp do different things. ASDF handles compiling and loading systems, whereas Quicklisp handles downloading systems and their dependencies. ASDF is kind of like make, and Quicklisp is kind of like a package manager.

</comment></comment></comment></comment><comment><USER36> I wonder if ITA software still use lisp.

</comment><comment><USER37> So if we go back in 1977 we should pick lisp instead of fortran because they invited if statement first.

Since we are in 2018, I'll go with python

<comment><USER34> You still want 1977 tech, because those guys all had one or more PhD's in subject matter required to build not just the software, but the hardware to run it as well. As a result of that, the software they designed is still very high tech if unorthodox, even by today's standards. Modern Lisp is like using a faster than light spaceship with a gravitational distorter (moves by falling into the projected distortion), compared to getting from point A to point B in a gasoline automatic car which is leaking oil (Python); If you run into some '70's and '60's tech, take the time to master it so that you could build antigravitational devices all day long (XKCD Python import.antigravity joke notwithstanding). Lisp is still cutting edge technology, and it's from the '60's and the '80's by the way.

</comment></comment><comment><USER38> LISP - Lots of Irritating Silly Parenthesis

<comment><USER34> Only if f(x) makes no sense to you in mathematics.</comment></comment>