Why NASA's Next Mars Lander Will Launch from California Instead of Florida - <AUTHOR> https://gizmodo.com/why-nasas-next-mars-lander-will-launch-from-california-1825695493 <comment><USER2> As someone who worked directly on VAFB's spacerange modernization: they also have slightly better equipment for launches than Kennedy.

VAFB's vertical wind profiler[1] is slightly more reliable, VAFB's disaster planning is easier too.

If you're not launching something supermassive that should be as close to where it was assembled, Kennedy is not your best call. That's why a lot of small and on-the-dl loads tend to go there. Also: weather is consistently more favorable in California that far south.

The less great part about moving more launches there is that the options for public viewing are way worse.

[1]: Science trivia: it's awful old school to use weather balloons to measure wind shear layers. Now they have radars so good they literally point them straight up and let the wind shear bounce radars back down. It's _amazing_ that this works. It's so good that it can see birds!. Some operators claimed to be able to discriminate breeds, although I have no idea how they'd validate that.

<comment><USER3> Neither site is ideal, even restricting choices to the USA.

For polar orbit, obviously northern Alaska is proper. This minimizes the amount of east-west movement that must be cancelled out.

For more typical orbits, being near the equator is better. There are many choices, but Jarvis Island is probably the best. It has excellent weather and is nearly on the equator. Other good choices are Palmyra Atoll and Baker Island.

There is something to be said for altitude and dry air. Altitude is kind of obvious, yet not. Although the height is not significant relative to orbit, getting above a few miles of thick air is nice. Dry air is helpful with cryogenics; remember that ice destroyed a space shuttle. Due to the high heat inherent in solid-liquid transition of water, ice formation puts lots of heat into the cryogenics. These considerations point toward a site near Tuscon or on Hawaii's big island. The astronomers probably don't want to share either spot, but hey, they might get space telescopes in exchange.

<comment><USER4> Not Tuscon but just west of White Sands Test Range (hence the Virgin Galactic spaceport) having the advantage of White Sands' unlimited restricted airspace to keep launches clean.

<comment><USER5> Definitely to the west ... those winds are killer: [https://earthobservatory.nasa.gov/NaturalHazards/view.php?id...](https://earthobservatory.nasa.gov/NaturalHazards/view.php?id=77775)

<comment><USER4> You launch eastwards anyway. With WSMTR to your east you get the advantage of clean air to a degree that even Canaveral can't guarantee.

</comment></comment></comment></comment></comment><comment><USER6> It's open ocean straight south of Vandenberg AFB all the way to Antarctica. This geographic quirk makes it a safer location to put satellites into polar orbit - Earth-observing sats launched out of Cape Canaveral have to take a "dog-leg" course correction to avoid overflying populated areas to the south, which uses up fuel and reduces available payload.

It's also the site for regular ICBM test launches, which are aimed southwest at the Kwajalein Atoll. Missile launches aren't quite as dramatic as those bound for orbit - a Minuteman III tends to be over the horizon in under a minute.

<comment><USER7> > Missile launches aren't quite as dramatic

The video from the last test of Trident D5, launched from offshore, was unreal.

Someone happened to catch it with a good lens from a fairly dark hilltop, and then spacecraft experts annotated the video to point out what was going on.

You could see the bus rotating and ejecting warheads (or decoys) all the way through its inventory. Amazing.

I'm told by family that it's even more amazing to see the RVs re-entering overhead if you are lucky enough to be downrange during a test.

<comment><USER8> Have a link to that video?

<comment><USER7> I wasn't able to locate it in a few minutes of searching, sorry. Youtube's search pollution problem for popular topics is really bad.

Edit: Here's an article[1] that seems to have the video embedded, with a link to the annotation.

[1] [https://foxtrotalpha.jalopnik.com/video-analysis-of- trident-...](https://foxtrotalpha.jalopnik.com/video-analysis-of-trident- missile-test-over-california-1741723854)

</comment></comment></comment></comment><comment><USER9> ULA has one Delta II still unsold, which will now probably never fly. I should think they would be happy to unload it. Must be a little more to the story. My guess would be some mass growth in the mission that made them bump it up to an Atlas V.

<comment><USER10> Museum model perhaps?

</comment></comment><comment><USER11> TL;DR: They're launching from Vandenberg for cost-savings; they're using a larger-than-usual rocket, so they have power to spare, so they can reduce the load on Florida.

I haven't been keeping up with Mars missions lately, so this was the first time I'd heard of the InSight mission. I was pleasantly surprised to see that they are using the Mars Phoenix Lander as the base for this mission. I played an extremely small role in that mission as a co-op student back in 2005. One of my most memorable experiences, and I'm especially pleased to see it having a continual impact all of these years later.

<comment><USER12> What a time to be alive that we're shifting launch locations because we're launching so frequently. May the cadence continue!

<comment><USER13> What's the carbon footprint of a rocket launch? The liquid H2/O2 fuel should be neutral but what about solid or other propellant?

<comment><USER14> Why do we care? That's like being concerned about wood being used to build ships in the 15th century. The carbon footprint of all of the private jets that flew to the Paris Climate talks dwarfs anything put out by a rocket, yet were people interested in emissions suggesting WebEx instead?

<comment><USER15> Wood consumption for shipbuilding, inclusive of charcoal for iron and brass manufacture, was actually a consideerable concern at the time.

<comment><USER16> It was a concern because of the availability of ressources, not because of ecological concerns.

<comment><USER15> Oddly, those two are not unrelated.

Also: it was, as you note, a concern. That being my point.

</comment></comment></comment></comment></comment></comment></comment><comment><USER17> Unrelated I guess but I'm kinda tired of Yet Another Mars Lander. I realize we have a lot of experience and success in the endeavor, and Mars is a particularly amenable planet for them (minimal atmosphere, relatively close etc.). But it's just boring at this point. Granted less boring than nothing at all, but there are much more interesting destinations in the solar system; Jupiter's moons and Venus to start.

I'm aware of the huge technical leap from landing on a dead planet to an active one with a punishing atmosphere, much less dealing with Jupiter's gravity well, but the potential discoveries (and imagery) attained from a successful landing on these more challenging bodies would be worth 1000 more Mars landers.

The Soviet's managed at least one Venus landing back in the 70's, imagine what we could do today.

I do remember reading somewhere that Venus's atmosphere was so thick that a lander could soft land on the planet with just parachutes, or minimal retros, so maybe it's not all bad.

<comment><USER18> If going to Mars leaves you flat (so jaded!), there is always Europa Clipper ([https://www.jpl.nasa.gov/missions/europa- clipper/](https://www.jpl.nasa.gov/missions/europa-clipper/)) with current launch expected around 2024 (IIRC). It was only 2 years ago that Juno ([https://www.nasa.gov/mission_pages/juno/main/index.html](https://www.nasa.gov/mission_pages/juno/main/index.html)) arrived at Jupiter.

<comment><USER17> Jaded...absolutely. I'm still waiting for my hoverboard. NASA likes to brand a lot of their missions as "looking for evidence or possibility of extraterrestrial life", and I certainly understand that, despite the science being much more grounded and concrete. Still...if there is any hope of finding that in our solar system, Europa, and other moons of Jupiter, have far greater possibilities, relatively, than a well studied barren rock.

IMO, leave Mars to Musk and the like and start focusing NASA's resources and extensive science probe/lander experience on more mysterious targets.

Or give NASA a lot more money for (not-manned) exploration, and do both. That works too.

<comment><USER18> It's hard to say where life (or past life) is most likely to be found, I think. It's only after the most recent rover (Curiosity) arrived at Mars that we discovered clear evidence of long-lived lakes and streams on ancient Mars, and chemical species compatible with life ([http://science.sciencemag.org/content/343/6169/1242777.full](http://science.sciencemag.org/content/343/6169/1242777.full)).</comment></comment></comment></comment>


Show HN: Kono, Smart Mobile Scheduler - <AUTHOR> http://kono.ai

<comment><USER2> I have an unrelated question to the product but more towards the technology, how are you able to support IOS and android?

</comment><comment><USER3> mmm, would be interesting to understand how it actually works better. How do you automate the selection of a time and place? Surely it's easier to just get participants to vote - like here: [http://klavado.com](http://klavado.com)

<comment><AUTHOR> Kono asks the participants on inviter's behalf if they don't have the app. :) Of course, once users install Kono, it learns from users actions and actual events and recommends the best options for the future events. Check this page out! : [http://kono.ai/about/](http://kono.ai/about/)

<comment><USER4> Hey, just a heads up - your share bar is really annoying on my Nexus 7 because I can't zoom out or scroll down far enough to get it off the content. I'm on Firefox, if that behavior is surprising reply and I'll send a screenshot later.

<comment><AUTHOR> Thx for informing that. You mean the SNS share bar? We just used Sumome component for that. If you could provide the screenshot I'll try to fix it.

<comment><USER4> Yep, that's the one. [http://imgur.com/ULWcBfp](http://imgur.com/ULWcBfp) I basically get this and can't zoom out or get it to go away.

<comment><AUTHOR> Strange..In my Nexus7, it works. BTW, I eliminated the share bar on the article page. It appears on homepage only.</comment></comment></comment></comment></comment></comment>


Satellite Images Of The Ghost Cities Of China - <AUTHOR> http://www.businessinsider.com/pictures-chinese-ghost-cities-2010-12

<comment><USER2> In case you stumble across this item and find it interesting, this later duplicate has got some comments:

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


Show HN: Lightning – a tool for rapid filesystem navigation - <AUTHOR> https://github.com/fouric/lightning-cd <comment><USER2> I don't understand how this helps. From what I've seen, it shows a list of files and directories and you "build" a path by selecting/opening them, navigating using some keys to go up/down in the list.

How is that more efficient than "tabtabbing" (hitting tab two times) to see possible completions? To me it seems less efficient to use up/down than hitting the few necessary keys to get the autocomplete you need.

<comment><AUTHOR> Well, the idea is that you're supposed to stay in search mode as long as possible, thereby avoiding the need to go into normal mode and select files mc-style. If you do that, then Lightning should be more efficient than tabtabbing because (1) you don't have to press tab to filter files and (2) after you have enough characters to uniquely identify your file/directory, instead of having to press <tab><enter>, you're actually already there.

That said, this is not for everyone; I anticipate it being useful for about 20% of *nix programmers in 90% of their file-opening cases. I just submitted it because (1) I thought that the style of the tool might be interesting to some and (2) that 20% might really enjoy and benefit from having this.

</comment></comment><comment><USER3> This could be made a little more useful by making the cursor select mode preview contents on the side for any item the cursor is on.

<comment><AUTHOR> Hey! That's a clever idea - and it would probably be very easy to implement, too. I'll put it in TODO, but if you wish, you can always add the feature and merge it yourself - the (Python) codebase shouldn't be very difficult to get acquainted with, and I try to be open to others' changes.

<comment><USER3> I'm unlikely to ever use it myself, because i already have a very different toolset. Just had that thought while watching the gif. :)

</comment></comment></comment><comment><USER4> This is really cool, were you inspired by Helm mode for emacs? If not you might find some useful features to add there.

<comment><AUTHOR> I haven't even seen Helm mode before. I am a hybrid Vim/Emacs user, though, so I am definitely going to try this out and perhaps "borrow" a feature or two.

</comment></comment><comment><USER5> Reminds me of "Midnight Commander" and derivatives. A colleague of mine is a big user of "Far".

</comment><comment><USER6> This kind of behavior is already implemented in oh-my-zsh. It's really cool.

</comment><comment><USER7>
        find ~/Documents -exec ls -l {} \; > ~/Documents/filelist.txt && grep "somefileiwant" ~/Documents/filelist.txt

Its all I've ever needed.

<comment><USER8> I don't really understand this. Why use grep? You can just use `find ~/Documents -name somefileiwant -ls`. You can use -regex or -path if you need to use regular expressions to describe a filename or path, respectively.

Alternatively, if you really wanted to use find and grep together, there is no need for any file I/O. You can just use `find ~/Documents -exec ls -l {} + | grep somefileiwant`.

<comment><USER7> I use grep so I can just come back later and do more grep'ing if needed or even do more complicated grips. ;) Just have to remember to update the filelist.txt file every week or so .. anyway its ghetto and I like it.

</comment></comment></comment><comment><USER9> I think I'd much rather use something like Midnight Commander. You can move using arrow keys (right arrow to cd to a dir, left to cd back, up and down to select file/dir), as well as use the traditional 'cd' command, as well as move through history using M-y and M-u, as well as incremental search, as well as using bookmarks/directory hotlist.

Plus, you don't have to clutter your bash history with loads of 'i' commands (I know about HISTCONTROL=ignorespace and HISTIGNORE, but still).

</comment><comment><USER10> I don't like the selecting up and down, it's much faster to just type a few characters. I wonder if it can use peco to select a directory by fuzzy search.

<comment><AUTHOR> "Search mode" is the default because, 80% of the time, you're right, it _is_ faster to just type a few characters. However, in about another 10% of cases (in my experience, and up until this point I've been the sole user of this thing), there are filenames that differ by a few characters at the end (lightning-cd.lisp vs lightning-cd.py is a good example), and it would take much longer to type out the entire unique portion of the filename than it would to hit two characters, switch modes, and then select downward once or twice.

I am considering adding in a fuzzy searching engine. However, because Lightning's primary mode (search mode) works by selecting on uniquely identifying substrings of filenames (the ones at the beginning in particular), a fuzzy search might make it more difficult to get a particular file because the algorithm would grab other filenames that you didn't want. I'll give it a try and see how it works.

<comment><USER10> Ah, if it supports both, then great. You can try a fuzzy search and give it less weight, so it would prefer to match the beginnings of strings first.

The good thing about fuzzy search is that "ligy" would match "lightning- cd.py", and "ligs" would match "lightning-cd.lisp".

</comment></comment></comment><comment><USER11> When developing software I usually switch between 3-4 folders. It would be nice to have shortcuts to favorite folders.

<comment><USER12> FAR Manager on Windows has these in the form of Ctrl+1 ... Ctrl+0 shortcuts (set with Shift+Ctrl+1 ... Shift+Ctrl+0).

Does Midnight Commander? It's one of the features I have been missing on Linux.

<comment><USER9> I don't think so. But Midnight Commander has directory hotlist (Ctrl-\\). You can select the hotlist entry using arrow keys up and down.

</comment></comment></comment><comment><USER13> CDPATH alone works pretty well already

</comment><comment><USER14> I would use this once it's stable. I'm too much of a newb to handle alpha.</comment>


AWS Route 53 experiencing occasional DNS resolution errors - <AUTHOR> https://status.aws.amazon.com/ <comment> Pick-A-Hill2019 Confirmed as a DDOS (now resolved). [https://www.theregister.co.uk/2019/10/22/aws_dns_ddos/](https://www.theregister.co.uk/2019/10/22/aws_dns_ddos/)

</comment><comment><USER2> I am seeing this affect s3 content, most likely because the domain is not resolving correctly.

<comment><USER3> Likewise, s3 ops are failing for me too.

Specifically ${BUCKET}.s3.amazonaws.com is failing to resolve.

</comment></comment><comment><AUTHOR> And, as usual, the actual service has a green checkmark even though the top of the page acknowledges problems.

</comment><comment><USER4> I am having an issue submitting a Coursera assignment because of this</comment>


Why there isn't any Instagram or Tweets from people live in Gaza? - <AUTHOR>

I am just curious. They do have internet, right? <comment><USER2> [http://occupiedpalestine.wordpress.com/2014/07/25/gazaundera...](http://occupiedpalestine.wordpress.com/2014/07/25/gazaunderattack- people-fleeing-gaza-by-whatever-means-available/)</comment>


Stephen Hawking Joins Boycott Against Israel  - <AUTHOR> http://www.nytimes.com/2013/05/09/world/middleeast/stephen-hawking-joins-boycott-against-israel.html?hp&_r=1&

<comment><USER2> The most unfortunate bit comes in the last sentence of the article.

"Also listed among the speakers is Munib al-Masri, a Palestinian tycoon from the West Bank city of Nablus who has been working to promote internal Palestinian reconciliation."

Makes me think this line isn't just PR. "The imposition of a boycott is incompatible with open, democratic dialogue.""

<comment><USER3> Of course it is; How can it be undemocratic to exercise your choice to not attend a conference, to protest against issues you don't agree with? I would have thought such freedoms would have been _required_ for democracy.

<comment><USER4> It might be compatible with democracy, but it's incompatible with democratic dialog. You can't have a dialog when one side is refusing to talk.

<comment><USER5> That's assuming you don't explain your reasons for refusing to talk. Hawking and others have made it quite clear _why_ they are boycotting. And by boycotting, they are giving their dialogue more effect.

If Hawking went down to Israel, told him what he thought about the whole thing with Palestine and hauled ass out of there; no one would care. 'Great, another European telling Israel they don't it. NEXT!' But this boycott is actually making people talk.</comment></comment></comment></comment>


Ask HN: What are you working on and why is it cool? - <AUTHOR> <comment><USER2> I am working on Blubyn - an AI powered travel agent helping users book flights and hotels quickly by personalizing results. Here is the link: [http://onelink.to/blubyn](http://onelink.to/blubyn) (app only - available on both iOS and Android)

Being an avid traveler, it has always bothered me that travel experience has remained almost the same over the years. We scout 50 websites to figure out where to go and what to do, where results/posts are something written with a view of catering to everyone(and hence very little for my interests), then to book I have to look at 100 different variables (and repeat the process almost everytime), and not helped by 8-10 websites which all look and function the same way - showing the most results, and not being upfront about anything. It still takes me half an hour to book a flight or hotel - when I do the same set of checks and actions everytime.

Once the booking is done, now again begins the anxiety of scouting trip advisor and lonely planet and forums to get more knowledge about a place. Altogether its a very inefficient experience, to say the least. Comparing that to buying a product on Amazon, one click booking, personalization, one stop shop, a seamless experience, and its fares really bad.

We want to bring that Amazon experience to travel. We have just started, long way to go. Hoping to crack it.

<comment><USER3> Lots of people tried to tackle this problem before, what's your unique take on it?

<comment><USER2> A lot of solutions focused on building itineraries, and to me that is where they missed the mark. Planning and itinerary building is not a hassle, its part of the experience. People like an itinerary made for them, but they dont follow it, cos it feels like work routine. The hassle part is the struggle in finding the relevant information. All the blogs try to cater to everyone and hence arent that relevant for one person (results and articles arent personalized). Then the information is way too scattered so it takes time finding it. Third, most blogs and articles are written from conversion viewpoint so that decreases the reliability. We can solve all three.

</comment></comment></comment><comment><USER4> I'm working on a skin for developer laptops so that you can apply those sweet conference and startup stickers. No more risking your resale value, or even physically risking damage to your expensive MacBook.

I want the skins to be identical to the original laptop material so that they are practically invisible. So for the MacBooks, a silver aluminium sticker (or space grey etc.)

I've done a proof of concept and it worked brilliantly (in the process of writing this up) and its allowed me to display my old 'laptop' as a keepsake, whilst being able to sell the laptop on in almost perfect condition.

I'm thinking of going down the crowdfunding route, as a way of proving there is a market, as well as helping to fund someone of the equipment needed.

Edit: Added they'd be a near identical match to the original laptop, rather than just a plain 'sticker'

<comment><USER5> I'm interested! How did the proof of concept turn out? Any chance you could make to order...

<comment><USER4> I personally really liked how the PoC went – I plan on doing a full write up in the next couple of days, which will outline what I did, start to finish.

Here is an example of the sticker/skin and the finish. Excuse the slightly 'off' cut on the corner – I'm looking to produce a highly accurate template for each of the various models. [https://imgur.com/FfQ3XQs](https://imgur.com/FfQ3XQs)

<comment><USER6> If I can give you a recommendation, set up a waitlist before you publish your blog post.

We just went through this process with Solo (mentioned in another comment): blogging, waitlist, kickstarter. HN has been great, we hit the front page four times. KS however is penalized on HN, so building a waitlist will be increadibly useful.

Best of luck!

edit: grammar

</comment></comment></comment></comment><comment><USER7> I'm using an old paper tape punch machine to print out (5% of) the human genome. The punches are from the early 80s, and it's really neat to be able to physically see each bit of data. The plan is to fill up a room with the punched tape, sort of mirroring a strand of dna and giving you a sense of just how large the genome actually is.

Unfortunately I'm having a hell of a time finding space to print in. May just end up finding some commercial warehouse space on Craigslist

<comment><USER8> Do you have any photos of it so far? It seems like a really cool project

</comment></comment><comment><USER9> I'm working on Tiny Thor:

[https://m.youtube.com/watch?v=bGrNjyV5PhE](https://m.youtube.com/watch?v=bGrNjyV5PhE)

It's cool because it's the game I always wanted to make since I was a teenager. What's even cooler is that two heroes of my youth are doing it together with me: Henk Nieborg (Pixel Artist) and Chris Hülsbeck (Music).

<comment><USER10> Looks nice, the throwing looks a bit stiff.

How did you get together to work with those people? Do you have a nice track record and reached out, hired them or how does it happen? Mostly interested because you referred to them as your 'heroes' so the path towards them might be interesting.

</comment></comment><comment><USER11> I'm tinkering with combining liquid cooling with waste heat electricity generation as a way to cut down on datacenter energy use. I think it's cool because datacenters consume 1-2% of all electricity generated worldwide, and roughly half of that goes to air conditioning. If it's viable, it might make a measurable dent in CO2 emissions.

<comment><USER12> That's amazing. I had no idea data centers used so much!

<comment><USER11> Here's some more info if you're interested.

[https://eta.lbl.gov/publications/united-states-data- center-e...](https://eta.lbl.gov/publications/united-states-data-center- energy)

</comment></comment></comment><comment><USER13> I'm working on a tiling window manager for Windows:

[https://workspacer.org/](https://workspacer.org/)

In another life I worked in a mostly linux environment, and developed on linux, where I used xmonad as a window manager. Switching to windows for a new job several years ago made that super painful. I use workspacer every day at work, and sometimes at home, and it mostly works! It crashes sometimes, and super DOES NOT LIKE IT if you reattach monitors (think laptop), but a restart of the application usually solves it.

The cool part: the configuration file is actually just C#, so you can configure it with a similar level of power that you would configure xmonad (or dwm) with (like implementing custom layouts, etc). I have not solidified the configuration API yet though, and have some plans to switch some major things up, so the road is a bit rocky for the time being.

<comment><USER14> Your site could really use a picture of the product in action.

<comment><USER13> my plan is to add some GIFs of the window manager actually managing windows, but I haven't had any spare time in the last few weeks. maybe this weekend though!

</comment></comment></comment><comment><USER15> I'm working on a satirical newsletter that makes fun of the tech industry: [https://techloaf.io](https://techloaf.io)

I'd like to think it's cool because a) it articulates and ridicules a lot of nutty things that most of us in tech recognize, but refuse to talk about and b) it's fun and makes people laugh each week.

Life's too serious, so it's fun to make something that lightens the load.

<comment><USER16> I like that you give a preview before making me sign up.

<comment><USER15> Thanks! Have always disliked it when people request an email without showing the value first

</comment></comment></comment><comment><USER17> I'm making a permissively licensed json/whatever encoding you'd like English dictionary by parsing Wiktionary. There's a beta demo type thing at [https://www.mostaccioli.club](https://www.mostaccioli.club) if you're interested.

<comment><USER12> Nice, been looking for an open source dictionary!

</comment></comment><comment><USER18> I'm working on getting better at cooking. My partner loves to cook with me, but I kind of suck at it. It's cool because we can spend some quality time together making a meal.

<comment><USER19> This is great! One hint I find useful is paying attention to eating. Try to decompose the taste of a dish. Then try to identify what makes those tastes.

Enjoy!

</comment></comment><comment><USER20> I'm working on [http://www.apilope.com](http://www.apilope.com) \- I think it's cool for monitoring rest apis with test cases, which was kind of a scratch my own itch thingie.

<comment><USER21> This is really great. I see a lot of potential in this. I'm sure it has taken a lot of your time. I'll definitely try it. Thx

</comment></comment><comment><USER22> What am I working on? I just replaced a resistor in my car's aircon to fix it. Feeling mighty pleased with myself.

Not the answer you were expecting but javascript wasn't going to fix this bad boy ;-)

<comment><USER23> Was it the resistor that regulates fan speed?

That resistor usually burns out because the bearing of the fan doesn't work properly anymore, causing the fan to draw too much current. So if you don't replace the fan, that resistor will burn out again soon.

</comment></comment><comment><USER24> A toy 24-bit virtual machine and assembler. It has 16MB of addressable memory split into 256 64KB banks. 8 specialized and 8 general purpose 16 bit registers. An address stack and a register state stack and memory mapped I/O.

Most of the opcodes have been written, apart from interrupts. It has built in function calls, near and far jumps, a bunch of different branching operations and basic looping based on flag States. Comparisons, unsigned and signed addition, multiplication, subtraction and division. Most opcodes support direct, indirect and relative addressing.

I tried to keep the assembly language fairly simple and straightforward. So far I have a two pass assembler that supports labels, named variables, subroutines, 8 and 16 bit numbers in decimal or hexadecimal format, 24 bit addresses in hexidecimal, character literals and zero terminated strings.

At this point the next steps are to finish doing interrupts and work on input and ouput. Right now, it will read an assembled binary and spit out a new binary with any modified memory addresses and a register dump so there's still a bit of work yet to making something interactive.

I'm thinking of using bearlibterminal(though I wouldn't mind keeping it dependency free...i'm just not sure if I can) and making it pseudo text/graphical terminal based I was thinking of maybe having different modes that could be switched so data stored in vram memory would be treated and displayed differently depending. I'd also like to keep the display and input fairly separate so it would be possible to write a different display frontend if people wanted. My hope is to eventually have keyboard, mouse and maybe other inputs, graphics and basic audio all as separate modules.

I'd like to eventually release it all open source with full documentation. I dunno I was inspired after trying to learn assembly and finding it was either fairly complex and more for compilers in the case of modern processors or you had to deal with weird hardware limitations and strangeness with old processors. So I tried my hand at making something similar to an older processor without having to deal with the frustrations of old hardware. My goal was to make it as fun to program in as possible while still giving the feeling of working directly with memory and registers.

Personally, i've learned tons from working on this and I figure if I was looking something like this, there's probably others that could benefit.

</comment><comment><USER25> I'm working on a personal organization app - basically integrating a to do list, habit tracker, and notes app into one. I think it's cool because it's useful to me and a "scratch your own itch" app.

If you're curious it's at [https://www.nominal.net](https://www.nominal.net)

<comment><USER26> I find it amusing how this seems to be a very common response to this sort of Ask HN question. If you want something right, you gotta do it yourself!

Here's mine: [https://github.com/upvalue/meditations](https://github.com/upvalue/meditations)

It also supports habits and notes, but in mine the tasks and habits are combined. I'd like to go further like you have in combining the notes and task interfaces (right now it's basically two separate apps that happen to be in the same codebase + database).

<comment><USER25> I like it. I use both approaches, so there's individual task/habit/notes modules like you have that let you dive deeper and edit and tweak things, and then the general dashboard which is more of an overview that combines them into one and lets you get common tasks done quickly. The dashboard is date based (defaulting to today) while the modules aren't.

</comment></comment></comment><comment><USER27> I'm working on [https://www.datagekko.com](https://www.datagekko.com). It's a passion project of mine that came from a scratch your own itch situation. Working on it for the past 6 years or so a couple hours every day on average (spent a ton of time). As it matured I decided to push it from a hobby project to a product. Super close to launching it, but constantly keep delaying it as I always have something to improve.

Learned a ton on it and literally helped me shape my career in the past 5 years.

A short description would be a large scale metrics/telemetry system. But I'm aiming to make it available for small-scale use as well so that small guys (like me) can leverage those benefits.

</comment><comment><USER28> I'm working on a tourism portal about Ravello, a jewel town of the Amalfi Coast: [https://www.ravello.com](https://www.ravello.com)

Right now I'm re-writing it using Elixir & Phoenix. It's currently running on Wordpress after first being a static site served from Amazon's Cloudfront & S3.

This way I'm also transitioning away from PHP & Laravel, my previous stack, to Elixir & Phoenix and learning its ropes along the way. I'm super excited about this new stack.

It's cool because I get to work and learn more about places I like using awesome tools.

</comment><comment><USER29> I'm working on a service that texts you when one of your preloaded accounts sees a change in balance - for example, public transit or toll roads. I've got three services supported so far: [https://balancebeamapp.com/](https://balancebeamapp.com/)

I think it's cool because I login to these accounts very infrequently and months later I have no idea what balance I'm carrying, whether I'll be able to board the bus in a city I'm visiting, etc. Also, the websites are usually not great to use especially on mobile.

</comment><comment><USER30> We are working on Doqume ([http://doqume.com](http://doqume.com))

It is an enterprise search engine which departs from traditional keyword-based search in order to provide an easier way to run complex, semantic queries on huge collections of text documents.

Why it's cool: image a pharmaceutical research task, where you need to find all documents mentioning drugs that interact with a specific class of diseases. In a normal setting, you would need to first research which drugs satisfy your condition and then either build a boolean OR query or probably query them one by one. Doqume saves you this hassle, because it allows to express conditions like "drugs that interact with infectious disease" with a simple user interface. As a result, you can get both the items that match your conditions (i.e., in the example, all the drugs that we know interact with the class of diseases that you specified) and the documents that match the query (e.g., recent research articles mentioning those items). The approach is not specific to pharma and you can easily build queries that span across several domains (e.g., "cities with more than 1M inhabitants", "USA companies with more than X employees", "singers who are born in Chicago", etc...).

If you want to give it a try you can see a demo with this query building capability at [http://doqume.com/search.html](http://doqume.com/search.html)

<comment><USER31> I think even google does this right? If I say - 'Drugs that interact negatively with so and so', I get the result

<comment><USER30> Well, you can obtain these results with Google, but not really in most scenarios. For example, if you search "cities in Palestine with more than 1000 inhabitants" you will get lists of cities in Palestine and things like that, but not that New York Times article talking about Hebron (and not even a complete list of cities that match your criteria). This happens with lots of queries, where in the best case scenario Google will just return you a list of items (and not actual content talking about those items) and in the worst case scenario you will just get random results because it failed to parse the query.

</comment></comment></comment><comment><USER6> Solo, an open source security key. Think of the open source counterpart of a Yubikey or Google Titan. Just a few hours ago we've been featured by Kickstarter: [https://solokeys.com/kickstarter](https://solokeys.com/kickstarter)

What makes Solo special is that it's the first security key:

1) open source + FIDO2: [https://github.com/SoloKeysSec/solo](https://github.com/SoloKeysSec/solo)

2) NFC + USB-C

3) in many colors, i.e. "customizable" also by non-tech people

<comment><USER8> I love this! Thank-you for your venture. Is there any way I can subscribe to updates? Do you know what your final pricepoint will be? (Often changes from the Kickstarter promises)

<comment><USER6> It's in the KS, 5th image (the one with Solo / Solo Tap columns, and the features).

Solo will sell for $17.5, and Solo Tap for $35. On KS you're getting really good deals. :)

</comment></comment></comment><comment><USER32> I'm working on a new training to help people have better social interactions, aka charisma.

Whether they use it to get ahead at work, enhance their relationship with a partner, relate to their kids, gain new friendships, sell something important, or just be able to be in their own company, that's something that enhances everything they do.

I think it's cool because it's my small way of connecting a world that has been slowly drifting apart and is in need of coming together to solve huge divides and problems that are to come.

<comment><USER33> Are you a genius at social interaction. ? How have you gauged your own advices value ?Perhaps consider publishing a book

<comment><USER32> I wouldn't say genius.

The value of the advice has been tested over the last 15 years with many happy students returning over and over again.

We've got people in the UN doing good work.

We've had people find love.

Entrepreneurs get funding and lead their own companies.

We've got a book in the works. It seems better though to teach things live with this kind of experiential skill.

</comment></comment></comment><comment><USER34> I am working on a podcast called Would You Like to Restart[1], it's essentially a single player DnD (Player and GM).

It's cool because unlike all my other failed projects it's for fun rather than an attempt at profit. Even if nobody listens we're doing it because it's a laugh - and people seem to be listening to it, so bonus!

[1] [https://www.wouldyouliketorestart.com/](https://www.wouldyouliketorestart.com/)

</comment><comment><USER35> I'm creating an interactive presentation on Git for my company who has been using SVN since the dawn of time. Many might consider this a boring project but it also happens to be a wide sought out skill. Very few really dive in to becoming power users of Git which is why I think it's a cool project for me. Teaching any topic to someone else almost always resolves in a considerable skill enhancement for the teacher.

<comment><USER8> Would you mind sharing it publically? I've only ever used for, but wouldn't consider myself a power user. I don't know how to rebase, for example. I'm sure there's value showing it online!

<comment><USER36> These two very detailed posts deal exactly with how to get started with git and how to become proficient with it:

[https://sentheon.com/blog/easy-git-guide-and-reference- for-t...](https://sentheon.com/blog/easy-git-guide-and-reference-for-the- busy.html)

[https://sentheon.com/blog/git-cheat- sheet.html](https://sentheon.com/blog/git-cheat-sheet.html)

Thought you and your parent could find them useful as well.

<comment><USER8> Damn, that is a very well designed git tutorial! Thanks for the recommendation, this is just what I need.

</comment></comment></comment></comment><comment><USER37> I am working on an "All-in-one Client Management" Software that allows our company to track everything about our clients in one place which includes: Onboarding, Registration, Subscriptions/Billing, Emails/Communications, Helpdesk, Projects etc. This will solve an internal problem we have at our SAAS company. Not sure about the "cool" factor but it surely will make our lives easier.

</comment><comment><USER38> I'm working on an experimental tool to simplify React Redux app development. Inspired by the simplicity of Turbolinks, and powered by Rails. You can develop React and Redux SPAs without any APIs.

[https://github.com/jho406/Breezy/](https://github.com/jho406/Breezy/)

</comment><comment><USER39> A KISS replacement for react + redux. It comes in two flavors:

\- callbag-html + callbag-store

or

\- callbag-element + declaredom + callbag-store if you're planning on using web components

Benefits:

\- It uses morphdom for fast diffing, which is as fast as virtual-dom

\- It's lack of parochiality -it just uses plain HTMLElements. It makes using 3rd party libs seamless because you don't have to wrap them. It also means that you can batch things into animation frames to avoid unnecessary layout thrashing

\- Callbag is used because it's a stupidly simple streaming library, easy to understand. Things like cold/hot observables, or what gets updated in a tick, can make streaming libs pretty complicated. Callbag fights that with it's extreme simplicity.

In general the entire toolset is easy to understand in terms of how it works, and that's important

</comment><comment> 100-xyz We just started sales for our product. Distributed about 30 flyers to restaurants and hair salons yesterday. Because it was the first time for us, it was quite a learning experience. Sales requires a much thicker skin and open ears. Also, because I am an American living in China, I had to learn some new technical words.

Our product lets your wifi guests land directly on your web pages. Its a captive portal plus a local web server. [http://www.100-xyz.com](http://www.100-xyz.com)

Looking for ideas on how to get customers/users. Suggestions, comments appreciated.

<comment><USER40> > Our product lets your wifi guests land directly on your web pages

Aka the thing nobody ever asked for and why I don't even bother with public Wi-Fi anymore.

Your users are just looking for Wi-Fi _and_ are already in your venue; your best interest is to _not_ piss them off by wasting their time and instead offer a good, seamless Wi-Fi experience so they can move on and enjoy whatever they planned to do at your venue.

<comment> 100-xyz Our product is designed for people who ARE LOOKING for local info. For those who arent, the business can set it up so that it works seamlessly - the way you stated it.

But in some instances, such as restaurant ordering system - it may be more convenient to order from your smartphone directly. In that case its useful.

Another use case that we are already having is - event translation. The attendees WANT the live streaming - so they join the wifi, go to the local webserver and get the streaming. If the local server is not there, the sound quality is sometimes poor because the same signal is coming in parallel to all the users from a remote server.

In short, its designed for people who ARE LOOKING for local information.

</comment></comment></comment><comment><USER41> Working on a project that uses Chrome Puppeteer - a Node.js API that uses Chrome DevTools Protocol to control a (possibly headless) Chrome. Its very cool because now the phenomenal power of DevTools is accessible programmatically and can be run on CI systems and stuff!

<comment><USER42> Also check out Headless Chrome Crawler if you want to crawl a site.

[https://github.com/yujiosaka/headless-chrome- crawler](https://github.com/yujiosaka/headless-chrome-crawler)

</comment></comment><comment><USER19> I'm working on fabricating interactive art pieces/clocks. I've been making these ask gifts for a few years. A big part of the gift is my time and effort. I think that is invaluable.

People always ask if I sell them. So I've come up with a wordclock design I really like and am working on some basement manufacturing.

For my day job I'm in charge of making physical products. So this is a hobby extension of that skill set.

Right now I'm hoping to ramp up production enough to sell a few of these for the holiday season. Hopefully this weekend lead time will change from 3-5 weeks to 1 week. Moderator Dan suggested I post a Show HN about this. I plan to once I get through this production hurdle.

Www.finewordclocks.com

</comment><comment><USER43> I'm working on Zenkit. It's a collaborative project and task management software which is meanwhile a great alternative to Trello, Wunderlist and other tools on the market. The flexibility it gives us in the office (yes we use it ourselves in every department) is awesome and we have so many ideas on how to improve it that we sometimes not know what to do first. The potential is high and I'm curious about where we are going with that.

</comment><comment><USER44> Working on my multiprocessing library, ZProc

[https://github.com/pycampers/zproc](https://github.com/pycampers/zproc)

It's cool because it tries to bring some creativity into the rather standstill multitasking world :)

</comment><comment><USER45> A simple reporting tool for tracking and reporting project/task activity.

It's cool because work requires me to submit an activity report each week and I wasn't about their terribly inefficient form, so I built a web-service to track my activities.

It's nothing special per-se, but it's significantly less complicated than other free options I've found for this sort of reporting and I like things that don't require me to learn how to use them.

</comment><comment><USER46> I'm working on [https://checklyhq.com](https://checklyhq.com), an API monitoring and site transaction monitoring SaaS. The coolest thing about it is discovering the many subtleties in the product offerings in the pretty huge and abundant monitoring market and how customers value them.

The technical stuff is cool too, and actually much trickier than many would expect, but I find customer development and support much more rewarding as I'm signing up the first customers.

</comment><comment><USER47> Not work related, but I am working on my body. Trying to run faster marathon at the same time building muscles to look good. It's hard after 40, but I was a 123 lb weakling at 24, now a 145 lb with good muscle tone.

</comment><comment><USER48> I am working on Execution.com - We are showing businesses what meetings cost in terms of time/money at their organization, as well as a lot of analytics to help them improve meeting culture. And, we are trying to see what the best companies are doing so that we can give companies the tools to improve the effectiveness of meetings.

[https://execution.com/free-meeting-stats/](https://execution.com/free- meeting-stats/)

</comment><comment><USER8> I'm working on a self-hosted, automated testing service for universities. I'm designing it to be distributed and fault-tolerant, which I've never done before! Structuring the application around producers, consumers & queues has decoupled it immensely, and (so far) has made the codebase extremely easy to grok. I've just go to figure out docker-compose, so I can throw up a new instance in a few seconds ;)

Does anyone have any recommendations for a newbie to the distributed architecture space?

</comment><comment><USER49> In my freetime I have been working on learning React, and more generally modern javascript. After dragging my feet for so long because of bias, I took the plunge a few weeks ago and I love it! It's very cool, in my opinion, because the web ecosystem really has grown a lot as an app platform, and honestly I like it. The "old" web and an app web can exist side by side, I see now.

At work, still just connecting API to API, test to test, pipe to pipe. I feel like a plumber, but I guess that's "backend".

</comment><comment><USER50> KloudTrader - A commission-free (flat-rate) algorithmic trading platform. Think of it as the Netlify or Heroku for computational finance. We provide a datafeed and a commission-free brokerage, not to mention server hosting. Basically everything you need to get started. Push to deploy.

<comment><USER51> Long-time HFT and stat-arb trader here. Not really your target market here, but I have a few suggestions that you may or may not find useful.

\- Don't write the core platform in python. The lack of support for concurrency is going to bite you in the ass down the line when you're trying to trade at scale or deliver high performance. I'd stick to C++, Java, Rust or Golang.

\- Don't send market data in HTTP/JSON. It's way too bulky and slow. Of course, you can still expose JSON to the end-client if that's what they want. But make sure to send internal messages in a fast, low-overhead, low- bandwidth. Like ZeroMQ + fixed binary encoding.

\- Have very clear policies about when/where/why you throttle market data. If you This is the biggest reason why most "algo-platforms-in-a-box" suck. (Using fast market data encoding will help here.)

\- Make sure that paper trading isn't running against throttled or consolidated market data. This is going to distort the results by assuming a trader can hit a price that may already be stale.

\- Since it's comm-free, you (or your broker) is monetizing with payment-for- order-flow. At the very least be transparent about your policies here. I'd offer the ability to upgrade to smart or exchange specific routing for a commission.

\- Since you're doing payment-for-order-flow, keep meticulous records of your trades with microsecond time precision. You can use that dataset to shop around for better deals on the order flow. If you wind up growing the business where you're doing a significant amount of volume, a major wholesaler like Citadel or Virtu can use that dataset to give you a very competitive offer for your flow.

\- Be very careful with the market data licenses and make sure you're totally in legal compliance. Exchanges do not mess around and frequently audit their vendors to make sure they're in compliance.

<comment><USER52> Python does just fine with concurrency. A lot of your other suggestions are not relevant for this kind of product either.

-t. guy who built a HFT fund using python.

<comment><USER51> > Python does just fine with concurrency.

Can you explain to me what the GIL is and how it works...

> guy who built a HFT fund using python.

I mean, maybe you and I have definitions of HFT. But I'd say the base minimum to compete in HFT space is tick-to-trade latency from off-the-wire data packet to on-the-wire order packet of 50 microseconds or less.

That's simply not possible in any python stack. Period.

I believe you're maybe doing something that turns over positions on an intraday basis. But that's not HFT. HFT's typical characteristics are colocation+DMA, very low latencies, full-scale analysis of the entire order book, volumes of more than 1% of the ADV, and Sharpe ratios above 10.

(And no, nothing in crypto space is anything close to HFT, because the infrastructure simply doesn't exist.)

<comment><USER52> HFT is just something where latency is the primary factor. Your perspective is a somewhat narrow one driven perhaps by limited experience or reading. The things you listed are true but just part of the arms race at various venues. Likewise, your reply to GP lacks perspective. Latency is likely almost totally irrelevant to his business model. His target audience doesn't require sub- python latencies.

</comment></comment></comment></comment></comment><comment><USER53> I'm working on a simple and free way to generate a press kit for your company.

[https://presskite.com](https://presskite.com)

The tech is cool and most of the early customers we have are realizing how important it is to be able to describe and pitch their company in a succinct and captivating manner.

</comment><comment><USER54> I am working on ORows. [http://orows.com](http://orows.com)

It enables teams to collaborate on structured data. Think of it as a fusion of spreadsheet, git and a content management system.

Right now it's in very early stages but I want to get to a stage where I can quit my job and work on it full time.

</comment><comment><USER55> I'm working on [https://appreviewbot.com](https://appreviewbot.com), a tool I made for myself to post iOS app store reviews to Slack. I'm still trying to figure out what makes it cool though, having a hard time getting feedback from users!

</comment><comment><USER56> I am working on Jupyter Notebook diff tool: [https://reviewnb.com](https://reviewnb.com)

It's stimulating to write diff algorithms when textual diff is coupled with images, markdown, html, and code syntax rendering. Also, it's super useful for a lot of people in Data Science community.

</comment><comment><USER57> Im half way in a algorithm that redraws pixel art image that have been corrupted by scaling or compression. 1 step it analise the image to define the "pixel size". Then it generates a pallet with all the colors needed to redraw that image. The it redraws it.

</comment><comment><USER58> I'm working on an online debate mediation platform to settle Twitter flamewars more thoroughly and amicably.

</comment><comment><USER59> I bought the toy robot Cozmo from Anki and now I am trying to make him see using openCV.

</comment><comment><USER60> I am working on Primer. Basically a bot that makes it much easier to learn "difficult things" on your own. Here is a screenshot : [https://imgur.com/a/E5Kw54P](https://imgur.com/a/E5Kw54P)

The screenshot has changed a lot by now though.

I have been working on this, alone, for last almost two year. I have iterated more than 15 times. One time, I was trying to do non-linear twine[0] based interface. Was pretty complicated. Right now, this is the version I am most satisfied and excited for. Also, it took some while to create a CMS from scratch for this one.

Here is why it is cool.

0\. Primer teaches you in a conversational way. I understand video based MOOCs are new norms, but conversational way makes user better focused towards learning. It also makes it easier to revise, recall and resume from where you last left.

1\. Primer will provide you notes in form of Tufte-Latex Books[1]. The way it works is that there is already a template for each course and when the user completes the course, his/her response accounts generates tex Code along with the previous templates and results in personalized books. The books authors name is the username.

2\. Primer enforces spaced repetition. Not only it teaches you something, it also reminds you to revise after certain intervals. Although Anki export is a desirable feature, I did not have the energy to look into it now, but it is definitely in the roadmap. Primer takes responsibility of your learning.

3\. Primer tracks time spent on your courses. Good tool for homeschoolers.

4\. Primer courses are versioned. Primer courses improve based on feedback. If you get stuck at a course, it is improved so that, next time it feels easier to understand. And often times, we will screw up, so it is there for that too. But importantly, courses should have pretty iteration times. This is a major advantage of text based courses.

5\. Primer based courses take a fraction of time to complete than Video-based courses.

6\. Last, my favorite. It makes difficult things easier to learn. Although, achieving this feature to a practical extent will take another year or so, but still feels good to have the potential. Suppose, you want to learn how to build a spaceship. There is a ton of things you need to learn before you can even begin to learn about spaceships and rockets. Primer ensures that you have understood the prerequisites before you start doing something. All these courses are present on Primer itself.

I am not good with deadlines. But I can assure that I am pretty close to completion.

These are the initial courses to be offered by Mid 2019.

Tentative Tracks: Machine Learning, Deep Learning, Reinforcement Learning, Fantastic ML Papers and how to implement them, Teach yourself Computer Science, Fantastic CS Papers and how to understand them, Computer Vision and Natural Language Processing.

To follow updates: [https://tinyletter.com/primerlabs/](https://tinyletter.com/primerlabs/)

[0]: [http://twinery.org/](http://twinery.org/) [1]: [https://github.com/Tufte-LaTeX/tufte-latex](https://github.com/Tufte- LaTeX/tufte-latex)

<comment><USER61> It looks good. I noticed further down it does try to understand your answer, and detects a wrong answer which is impressive.

<comment><USER60> Thanks Man. Well, it detects wrong / right answer when you use predefined responses but when you use text reply then it just states what is correct, so that you can figure out where you went wrong.</comment></comment></comment>


Dying beauties: the wooden buildings of Istanbul - <AUTHOR> http://www.inenart.eu/?p=17305

<comment><USER2> There are a number of examples of this architectural style, but much better preserved, along the side streets near the Ayasofya (Hagia Sophia).

That said...I'm honestly not the least bit surprised that many of these places are falling into disrepair. At the same time, I wouldn't ascribe it to gentrification or any ill will by the middle class, looking to replace them with new construction, toward immigrants too poor to maintain them.

This is just how Istanbul is. The city is _so_ old that there's not really any point in placing special value on something that might be _merely_ one or two (or even three) hundred years old. It's not that Istanbul is in any hurry to tear down old construction. The city is just ruthlessly pragmatic. The product of millennia of settlement built upon settlement built upon settlement...it really is unlike quite any other place in the world.

</comment><comment><USER3> There are two photos showing a wooden building between two newer structures. In the first the neighboring buildings are brick. The architect there decorated the buildings so they matched the wood next door. The other shows concrete buildings. They wood house in that photo looks out of place.

</comment><comment> guard-of-terra Some places are lucky to have stone. They have good architecture that lasts (looking at you Italy). Other are not so lucky, one fire or one century away from having nothing.

</comment><comment><USER4> The post appears to be gone now...?</comment>


Functional Optimistic Concurrency in C# - <AUTHOR> http://jdconley.com/blog/archive/2009/06/26/functional-optimistic-concurrency-in-c.aspx

<comment><USER2> Cool, it would be nice if they mentioned the downsides. Such the posibility of complex operations never finishing while eating a lot of CPU time. But, I like it.</comment>


Really Small Java Apps - <AUTHOR> http://august.nagro.us/small-java.html <comment><USER2> GraalVM native-image is not a listed option, but I regularly use it to produce binaries that are competitive with (often better than) Go in terms of size and (start time) perf.

A Clojure tool that parses, traverses and processes JSON (caro, see below) worked out to 3.2MB. I'm sure C and Rust can do better, but it's not bad compared to a JVM, and it's an order of magnitude better than the best option in the article. It's also small enough that while comparisons like "that's three floppies!" are interesting historical perspective, you can't reasonably complain about having a 3 MB binary in ~/.local/bin.

Examples:

[https://github.com/latacora/wernicke/releases](https://github.com/latacora/wernicke/releases) [https://github.com/latacora/recidiffist- cli/releases](https://github.com/latacora/recidiffist-cli/releases) [https://github.com/latacora/caro/releases](https://github.com/latacora/caro/releases)

It mostly works out of the box. My biggest frustration is that you can't easily link in dynamic libraries, which makes it a little annoying to do e.g. EC TLS with a single binary. (Go would have a similar problem but sidestepped it by reimplementing most of it natively.) Second biggest frustration: it is not a fast compiler. You're definitely doing development on the JVM (I use Graal as my default JVM now) and a "production build" afterwards with native- image.

<comment><USER3> >I regularly use it to produce binaries that are competitive with (often better than) Go in terms of size and (start time) perf.

How do they compare to go in terms of speed? Another comment also said graal native images still suffer with throughput vs using the jvm due to profile guided optimizations.

<comment><USER4> It's still optimised native code - it's not like they're running in an interpreter.

The real issue is the GC is not as efficient.

</comment></comment></comment><comment><USER5> I thought this article would be about something like [https://en.wikipedia.org/wiki/Java_4K_Game_Programming_Conte...](https://en.wikipedia.org/wiki/Java_4K_Game_Programming_Contest) but it's more appropriately "Really Small JVM".

 _For a simple project requiring java.net.http, using these steps produced a 23MB jlink image_

23MB may seem tiny today, but depending on what that "simple project" does, in absolute terms it's still twenty-three _million_ bytes. For comparison, a full installation of Windows 3.11 is roughly that size too, _not_ compressed. As the saying goes, "there's still plenty of room at the bottom."

<comment><USER6> Things That Turbo Pascal is Smaller Than [https://prog21.dadgum.com/116.html](https://prog21.dadgum.com/116.html)

<comment><USER7> The wikipedia page for Turbo Pascal, at 43,234 bytes, is bigger than Turbo Pascal

</comment></comment></comment><comment><USER8> I've found a combination of Spring Boot executable jar + a small jlink built JRE runtime packaged next to the executable jar works fairly well.

Our zipped distribution is 50mb. Uncompressed the executable is 26mb and the runtime is 75mb.

I'd love for it to be smaller but I can't complain. This also makes solving for Linux, macOS, and Windows pretty trivial. They each get their own zip with packaged runtime.

<comment><USER9> This seems to be about the sweet spot that I keep finding, although I normally work in clojure.

</comment></comment><comment><USER10> Interesting to see this as I didn't know it was so simple to compile the JDK these days. But curious how this compares to Quarkus ([https://quarkus.io/](https://quarkus.io/)) which is built upon GraalVM?

<comment><USER11> I keep a close eye on quarkus.io. I love what they're doing for the Java ecosystem. It's interesting to see other frameworks follow suit (Micronaut, etc)

<comment><USER12> Micronaut predates Quarkus by almost a year, but they both seem to be great frameworks.

<comment><USER11> Agreed... I almost looked it up before I hit "reply". I didn't start seeing the container native/GraalVM stuff in Micronaut's tweets until more recently, but that doesn't mean anything. Good info to know. Thanks!

</comment></comment></comment></comment><comment><USER13> "Since bundling apps and runtime is the new best-practice"

When did this become the new best-practice in Java land?

<comment><USER14> since the author internalized the AWS marketing message.

<comment><USER15> I mean AWS has driven a lot of developer practices in the last 10 years. Not a terrible bandwagon to jump on.

</comment></comment></comment><comment><USER16> It's an interesting turnaround. Once upon a time all the thinking was that you should pile as much into shared DLLs and common runtimes as you can, because those things will almost certainly be kept in the cache and will be much faster to launch / lower overhead.

Now not only is it becoming "best practice" to bundle your whole runtime with your app, people are bundling the whole operating system via Docker.

I'm curious if people have compared actually using a single JVM that is kept hot in OS cache vs separate minimal packaging for every app. It might favor single packaging if you only run 1 java app, but if you ran 10 different ones the benefits of shared code might win.

<comment><USER17> With a JVM kept hot in OS cache, how many different JVM versions would you need to support apps made with different JVM versions?

<comment><USER16> Ideally one, maybe two? An LTS and a current version?

</comment></comment></comment><comment><USER18> Is GraalVM a good option for this?

<comment><USER19> Yes and no. Graal Native Image doesn't work for spring, since some of the jvm functionality wrt. class loading don't work yet (I think). Also native image has lower throughput due to the lack of profile driven code optimizations.

<comment><USER20> The Spring team and Graal folks are working on full support. I believe the main angle is to ensure the annotation-based model will work smoothly[0]. Another is to introduce a fully-functional model (Spring Fu/Kofu [1]).

Bear in mind, a lot of what Spring -- Spring Boot in particular -- gets charged with is beyond its control. It's an entrypoint to the vast Java ecosystem, much of which is also incompatible with Graal native images at the moment.

[0] [https://github.com/spring-projects-experimental/spring- fu](https://github.com/spring-projects-experimental/spring-fu)

[1] [https://github.com/spring-projects-experimental/spring- graal...](https://github.com/spring-projects-experimental/spring-graal-native)

</comment></comment></comment><comment><USER21> I get Docker and I use it, but it does bother me that one bundles the JDK along with the docker image. Such a waste of space. I like this idea, I hope it gets more traction.

In terms of deployment of Java apps, we've found that Nomad works really well as it doesn't need a full Docker image (or equivalent) like Docker, Kubernetes etc. In Nomad you just make sure the worker node has the JDK, and then you specify the .jar file in the job.

<comment><USER22> I'm not sure this is the issue you are referencing, but you can use multi- stage Docker image builds to avoid bundling the JDK in the final Docker image:

      FROM openjdk:jdk AS build

      COPY . .
      RUN mvn package

      FROM openjdk:jre

      COPY --from=build ./somepath/app.jar .

      CMD java app.jar

The first stage (defined by the first FROM) is only used to build the ".jar", the second stage will only contain the JRE and the ".jar" copied from the first stage.

<comment><USER23> Anything after Java 9 would have to use the jlink method, as with the new modules system, there is no longer a distinction between the JDK and JRE.

The problem is most 3rd party libraries aren't ready for the modules switchover, so for anyone using those libraries, you are stuck with having either a 3-400mb docker image or using jlink

<comment><USER24> There are "jre" images for java 10 plus that exclude the java compiler and other unnecessary JDK components, you don't need to use modules to use this.

</comment></comment></comment></comment><comment><USER25> Hmmm.. Makes me wonder if this could help bazel slim down even more (although it's very acceptable size right now).</comment>


One 18th-Century Horse Eclipsed All the Others - <AUTHOR> http://www.atlasobscura.com/articles/eclipse-famous-racehorse-gambling <comment><USER2> "Eclipse first, the rest nowhere." This is a well known story in the horse world. All Thoroughbreds are descended from three stallions, the Darly Arabian, the Godolphin Arabian, and the Byrerley Turk. Most lines pass through Eclipse. That's why Thorougbreds are so uniform.

(I've owned three ex-racehorses - one lively little guy, one good hunter, and one that was too hyper to be safe.)

</comment><comment><USER3> Given how restrictive the bloodlines of thoroughbreds have become I have thought for sometime now if it is possible to breed a faster horse via some intelligent outbreeding. Genomics has now given us the tools to do this efficiently.

If there are any billionaire race horse owners out there that would like to own the fastest racehorse ever to live I am happy to help out :)

<comment><USER2> The Jockey Club doesn't allow that. Thoroughbreds can be bred only from other Thoroughbreds to be registered in the Thoroughbred registry. Live-bred, too; no frozen sperm. This is strictly enforced; Thoroughbred breeding involves witnesses, videos, and. since 2001, DNA testing.

<comment><USER3> Yes I know this - it doesn't stop some rich person breeding a faster race horse. In practice once you have the fastest horse you will be able to race it outside the thoroughbred system.

Actually even within the registered thoroughbred system it would be possible to use genomic data to improve speed. Due to inbreeding the average thoroughbred carries a large number of null mutatations in minor genes that degrades overall performance. Using genomic data it should be possible to identify which horse should be crossed to remove these mutations. Having said this, it will be a slow and expensive process.

</comment></comment></comment><comment><USER4> The article uses the word "Louchest" to describe the times. I had to look it up:

> Disreputable or sordid in a rakish or appealing way

<comment><USER2> "Louche" is a known word. "Louchest" is something that author made up.

<comment><USER5> It fits with existing conventions for word extensions and it's perfectly understandable. What's the problem? This is how words join the existing language.

<comment><USER6> I didn't read GP's comment as saying there was a problem; it's not in conflict for the word to "fit existing convention and be understandable" if it's made up.

</comment></comment></comment></comment><comment><USER7> Out of idle curiosity, what is this doing here?

<comment><USER8> Strong clickbait game from Atlas Obscura

<comment><USER9> I've certainly noticed that recently there seems to have been an increase in the number of 'less relevant than I'd expect' Atlas Obscura articles regularly making the front page.

A quick look at the submission details though doesn't reveal any sort of sustained pattern - either of posters or timings between submissions.

<comment><USER8> Yeah, I didn't say it was a systemic spamming problem; the submissions are completely organic due to their strong clickbait game: Atlas Obscura specialises in the long-form, superficially-interesting but ultimately- pointless articles that give infovores enough of a hit to make them think, hey I learned something that not many other people know, I should share it. And yeah, you do end up learning about (say) the underground town of opal miners at Coober Pedy… but not to any more depth than someone who read the Wikipedia article (who also avoided creating ad impressions).</comment></comment></comment></comment>


PageRank Sculpting Is Dead! Long Live PageRank Sculpting. (2009) - <AUTHOR> http://searchengineland.com/pagerank-sculpting-is-dead-long-live-pagerank-sculpting-21102

<comment><AUTHOR> Do any SEOs put thought into the internal linking structure of their sites?

It would seem that, because PageRank is divided amongst the number of links on a page, that a page with fewer links is more effective at passing link juice then a page with many links.</comment>


Show HN: Fundraise by Carpooling - <AUTHOR> http://www.fundrider.us <comment><AUTHOR> I am looking for a Business Cofounder! There are currently some issues with signup. Really looking for feedback on the concept.

Fundrider is a fundraising app(and fellowship app with members of a community[church, charity, school]). It not marketed as a carpooling app. Non- profits would use it to put together an event(Ride for Life) and/or have recurring donations by continuing fundrider.

Here's the math. 20mpg car uses 1 gal to get to work, thats $4. times 10 commutes a week thats $40. Times 50 weeks thats $2000 in gas that a fundrider can donate to a great cause. If their company does matching, they can give $4000 in a year to Dog Rescue without it costing then anything. It's green, it's changes the carpool game, and gives money to charity not oil companies..</comment>


Facebook begins testing ads in Messenger - <AUTHOR> https://techcrunch.com/2017/01/25/facebook-messenger-begins-testing-ads-and-theyre-big/?ncid=rss <comment><USER2> Ads will be the reason I stop using Messenger. Come on, Facebook... that's just ridiculous. Not everything needs an endless stream of advertisements.</comment>


Bootylicious: What the pirates of yore tell us about modern counterparts (2009) - <AUTHOR> http://www.newyorker.com/magazine/2009/09/07/bootylicious <comment><USER2> _So long as one of the nations involved considered it legal, privateering wasn't technically piracy, but the Spanish liked to put the paperwork making this claim around the necks of privateers that they hanged. The privateers themselves, according to a 1724 account, tended to "make very little Distinction betwixt the Lawfulness of one, and the Unlawfulness of the other,"_

So many things in this article remind me of many somewhat skeezy "hackers" I've met since moving here to the Bay Area.</comment>


Apple To Buy Beats Electronics for $3.2B - <AUTHOR> http://variety.com/2014/digital/news/apple-close-to-buying-beats-electronics-for-3-2-billion-1201175871/

<comment><USER2> Discussion: [https://news.ycombinator.com/item?id=7717961](https://news.ycombinator.com/item?id=7717961)

Other submissions, some have up-votes, some have comments:

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

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

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

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

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

[https://news.ycombinator.com/item?id=7718137](https://news.ycombinator.com/item?id=7718137)</comment>


MicroG 0.2.12 released, adds support for Covid-19 contact tracing apps - <AUTHOR> https://github.com/microg/android_packages_apps_GmsCore/releases/tag/v0.2.12.203315 <comment><AUTHOR> microG GmsCore is a FLOSS (Free/Libre Open Source Software) framework to allow applications designed for Google Play Services to run on systems, where Play Services is not available.</comment>


OpenBSD just added initial support for the RaspberryPi 2 and 3 devices - <AUTHOR> https://twitter.com/phessler/status/762346582117326849 <comment><USER2> [http://cvsweb.openbsd.org/cgi- bin/cvsweb/src/sys/arch/armv7/...](http://cvsweb.openbsd.org/cgi- bin/cvsweb/src/sys/arch/armv7/armv7/platform.c#rev1.9)

</comment><comment><USER3> The obvious question "what changed" appears to be "there is no more binary blob required in the kernel, and now ppl care about armv7."

Hopefully there will be RPi 4 with GbE and more memory (like the ODROID C2).

<comment><USER4> _This doesn 't work yet. But when it does, you'll need recent firmware from the Raspberry Pi Foundation git repository_</comment></comment>


Show HN: Find companies by the technologies they use to develop - <AUTHOR> http://www.whattech.io/

<comment><USER2> I like how quick it feels and that it looks very clean. I'm curious to see how well it will work with much more data.

Right now, the region filter doesn't seem to work. For example, if I click on iOS and San Francisco, I still see Kickstarter, Venmo, and Birchbox which show they are based in New York.

Also, I'm surprised that What Tech wasn't listed on its own site. :)

</comment><comment><USER3> Hey Chase - this looks super crisp. Congratulations!

I'm also a fan of builtwith.com and trying to understand if you're doing the same thing or have a different objective.

P.S. I think the UI is super clean and very easy. Great job there.

<comment><AUTHOR> Thanks! I'm a fan of BuiltWith as well, but I have a different objective. I made this when I was learning Angular and wanted to easily find what companies in my area where using it. I hope this tool helps developers quickly find the companies they might want to work for.

</comment></comment><comment><USER4> This looks great! I love how I can see companies listed by multiple technologies! I can't wait to see where this goes

</comment><comment><USER5> Wow, this looks great. Very clear and nice design. I'll bookmark it for future reference.</comment>


Color wheels are wrong? How color vision actually works - <AUTHOR> http://blog.asmartbear.com/color-wheels.html? <comment><USER2> This article tries to sensationalize and obfuscate something that is pretty simple in reality.

RGB are the primaries in light. By mixing these three colors you can create any color the human vision system can perceive (yes, because of tristimulus).

When white light hits a material, some of those RGB wavelengths are absorbed (subtracted). RGB - GB(Cyan) = Red, RGB - RG(Yellow) = Blue, RGB - RB(Magenta) = Green. Thus, Cyan, Magenta and Yellow act as primaries (colors from which you can construct any visible color) for materials that absorb, not emit light.

The forth primary in print media, Black, is simply added because inks are imperfect and a mix of CMY inks yields a kind of murky black (plus it wastes ink).

It's a historical simplification to say that "red, yellow and blue" are the primaries for paint, the red works like a magenta, the blue works like a cyan. They sell Cyan/Yellow/Magenta primaries for oil/acrylics and if you paint with these you'll get a brighter, wider palette but you can get there with a traditional palette by adding whites and other pigments.

The tone of the article is awful. The opening sentence, "Ask any artist..." is flatly untrue, this stuff is basic for most visual artists (I first learned about the CMY primaries in a community ed. Painting I class). It's not that the article is factually wrong, it's just basic stuff presented as if it were obscure or clever.

None of this makes the color wheel or any other color theory any less valid. The "four color" wheel he lists at the end is not wrong, it's just silly: you could pick any points on the wheel and their opposites and have the same thing.

<comment><USER3> I think you're right in some respects (e.g. most artists have a much more sophisticated understanding of color than red, yellow, blue -- that's the version you get taught in elementary school).

But you're missing the point in others: half the article is devoted to explaining the inadequacies of the RGB model for handling actual real world color. (This is why photos of sunsets -- digital or film -- never look right.)

A simple example -- color looks weird under "white" LEDs (at least the current ones) because they're actually RGB LEDs balanced to create the illusion of "white" light. Some orange things will look all but black under a white LED while others will look orange. Why? Because orange light can be actually orange, or a mixture of wavelengths that gets a similar response from your eye.

And so on and on. The article is a bit annoying (and it would help if it assumed most readers will know about CMYK and RGB color models already) but the fundamental lesson -- that color is more complex than you think and you need to understand the underlying physics and physiology to really understand color is worth making.

<comment><USER4> > _This is why photos of sunsets -- digital or film -- never look right_

The main reason sunsets don't look right is that sunsets have a huge dynamic range, beyond the ability of our printed photographs or computer displays to reproduce (no one has the sun in their living room).

<comment><USER3> No, the main reason is that RGB is an approximation of color not true color. Light in the real world isn't RGB. Human beings do not see in RGB. Read the damn article. (There's also a lengthy post above which tries to make the points over again.)

Do you think CMYK will reproduce sunsets if you shine a bright enough light on a piece of paper and use black enough ink? Same argument.

<comment><USER4> (yeah, I wrote that lengthy post)

I understand the concept of metamerism. You are quite right about objects changing appearance from one light source to the next, etc. It's also true that sunsets often have colors which are more colorful than can be produced by computer displays or 4-color-process prints. However, I stand by my assertion that the _main_ reason that sunsets don't look right on screen or in print has to do with the lack of dynamic range.

</comment></comment></comment></comment></comment><comment><USER5> I'm happy to see someone investigating color, and the way we perceive it. So many color theory books are more mystical than scientific; it's wonderful to see a physiological model.

I suspect that we continue to teach the RGB, RBY, and CYMK color wheels because they behave correctly with respect to the behavior of particular physical media. Yellow-looking paint and blue-looking paint _do_ make green- looking paint. Red-looking light and green-looking light _do_ make yellow- looking light.

The (physiologically accurate?) four-primary-color model proposed here does not correctly predict the world: yellow and blue act as additive color opposites; red and green act as subtractive color opposites. No one set of pigments or lights will ever consistently behave the way this 4 color wheel predicts.

We need multiple systems because colored _objects_ mix by multiple mechanisms.

<comment><USER6> It's not really a new thing. Rudolf Arnheim's Art and Visual Perception (published in 1974, widely read in art school from what I understand) had a whole chapter about exactly the same material as in that blog post. But before that it had a chapter on the psychology of color, and why the color wheel is in fact useful.

<comment><USER5> Right! I used "proposed" to mean "argued for" rather than "set forth for the first time".

Arnheim is kind enough to distinguish between "generative complements" and what he calls "fundamental complements", (though I would prefer they be called "perceptual"). He warns _specifically_ against confusing perceptual color and color-in-the-world. By making that distinction, Arnheim validates BOTH systems, rather than attempting to invalidate three-primary systems (as this article appears to do).

The article calls RGB and RBY color "wrong" and unable to "stand up to even minor scrutiny".

Arnheim calls them "generative".

I claim their generative nature (that they inform how to _create_ color) is why they are taught in schools. I'm not denying the four-color idea; I'm just saying it is based on a different definition of color, and different intended use of color.

</comment></comment></comment><comment><USER7> I wish I could upvote this twice. I hadn't realized that our actual perception of color was so filtered from the physical spectrum.

I find it incredibly fascinating, from a philosophical perspective, that there are literally color combinations (i.e, greenish-red) that, despite lying within the physical spectrum to which our eyes are sensitive, _we cannot see_ , cannot even imagine.

<comment><USER8> The thing that will really blow your mind is are there things that are red, or a group of things that have a common appearance that our minds just label "red." And what if what if the signals that reach my brain when I view "red" are shifted one to the left on the color wheel? The gradual perception of color change would be perceived but we would be looking at different colors even though we both agree that it is "Red."

<comment><USER9>
      > The thing that will really blow your mind is [...]

Only if "you" refers to a stoned college kid. The realization that qualia -- such as the redness of red -- are fundamentally subjective is, quite frankly, an old hat.

</comment></comment></comment><comment><USER10>
         Artists get it wrong

I kinda get upset about all his use of "artist" as a derogatory term. Have he ever painted anything in real life? Beleive it or not, just a canvas plus red, blue and yellow acrylic paint will be enough.

Oh, and some kind of talent.

<comment><USER11> _Beleive it or not, just a canvas plus red, blue and yellow acrylic paint will be enough._

This is actually not completely true, but I appreciate the point you are making.

Something we shouldn't overlook is that there no pigments that fit perfectly on a color wheel. In other words, there's no blue pigment, its always blueish green or blueish purple.

This has been a challenge for pigment makers for centuries and has a complicated history.

Maybe sometimes a perfect pigment or dye is found, color wise, but then it turns out to easily fade, aka 'fugitive', so artists, the ones who expect their art work to last for more than a few years, are stuck with certain colors.

Why does this matter? Its because of mixing. You might think you have paints of the primaries, blue, yellow, and red, and you need a bright green, so you mix the blue with the yellow, and you end up with an muddy olive color.

Turns out your blue was leaning towards being purplish, and when mixed with the yellow, a component of grey was produced, because they are opposite.

So how do you get a nice bright green? You need to mix a greenish blue with a greenish yellow.

In practice this results in artists, who want to paint with a full range of colors, need 6 primary colors.

For example, two good lightfast (not destroyed by light) blues are ultramarine (very old pigment), and a newer phthalo blue (much more modern). The ultramarine leans towards the violet and the phthalo, to varying degrees, towards green. In the old days I think prussian blue was the greenish blue of choice, but its a weak color and is easily overpowered.

Cobalt blue, if I'm not mistaken, is the closest thing we have to a lightfast primary color.

Artist really hit the jackpot with blues. Some are very old. They are also nicely transparent, which can make a difference in technique

The bright reds and bright yellows aren't so good, and the ones that are lightfast are supposed to be toxic. And not very transparent either.

If you don't care about the brightness of your reds and yellows you are in luck, there are plenty of rust and dirt pigments like iron oxide, sienna and umber.

This is a complicated subject. Here's a book about it

[http://www.amazon.com/Blue-Yellow-Dont-Make- Green/dp/0967962...](http://www.amazon.com/Blue-Yellow-Dont-Make- Green/dp/0967962870)

</comment></comment><comment><USER12> I find the CIE Standard Observer graph enlightening: [http://en.wikipedia.org/wiki/CIE_1931_color_space#Color_matc...](http://en.wikipedia.org/wiki/CIE_1931_color_space#Color_matching_functions)

As far as I understand this, the red function, which corresponds to the red receptors in a typical human eye, reacts mostly to high wavelengths, but also has a small spike in the lower end of the spectrum. This explains why the violet end of the spectrum looks similar to red to human eyes, and this is probably why color wheels seem so natural. After all, a color wheel is almost the same as rainbow that wraps around.

I also find it fascinating that the CIE color space was defined as early as 1931.

<comment><USER4> No, the CIE standard observer is not the same as the responsivities of cone cells in the eye. That article you linked describes how it was arrived at:

1\. Match monochromatic (narrow wavelength band) light sources of each wavelength with three particular monochromatic lights (called "R", "G", "B"), in some cases needing to add some of one of those three to the monochromatic source in order to get the two sides to match – this is a "negative" component. This process results in three (r(λ), g(λ), b(λ)) functions of wavelength.

2\. Take three linear combinations of those three functions and call them (x(λ), y(λ), z(λ)), such that (a) the y(λ) function is approximately the same as the photopic luminance function as best it could be computed at the time, (b) all three of x, y, and z had only positive values, and (c) integrating each of the three yields the same value, so that an equal-energy stimulus will have the same X, Y, and Z values.

The red receptors in the human eye do not really have this kind of spike in response in the lower end of the spectrum.

* * *

However, "red" the "psychological primary" or "unique hue" does have some violet/blue in it. Any monochromatic red light source is a bit on the orange side.

</comment></comment><comment><USER13> In the early 20th century Albert Munsell did a series of empirical studies to determine exactly how people see colors relative to one another. The results are expected, but fascinating.

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

<comment><USER4> Why are the results expected?

(Also, I really need to expand the Munsell Wikipedia article, but Albert Munsell was dead before much of the empirical work that went into the 1929 Munsell Book of Color – by that point his son was running the company – or into the 1943 Munsell Renotations, which were based on the work of the Optical Society of America.)

</comment></comment><comment><USER14> I'm getting a 503 error. Obligatory Google cache:

[http://webcache.googleusercontent.com/search?q=cache:oS8AaG3...](http://webcache.googleusercontent.com/search?q=cache:oS8AaG3vxYQJ:blog.asmartbear.com/color- wheels.html+http://blog.asmartbear.com/color- wheels.html&cd=1&hl=en&ct=clnk&gl=us&source=www.google.com)

</comment><comment><USER15> Why does he conclude that we need 4 primary colors? He knows that our eyes have three kinds of 'sensors', which roughly correspond to [R, G, B]. How the brain processes the initial perceptions, allegedly [R-G, (R+G)-B, R+G+B], doesn't change the fact that you can approximate all colors by mixing quantities of R, G and B.

What I'd find more interesting is a proposal (or a mention) of a color space that's based on what are, according to him, the 'computed' values. Something like NTL (tiNt/Temperature/Luminance), where N is R-G, T is (R+G)-B, and L is R+G+B. (The names 'tint' and 'temperature' are taken from photo editing software, as they are the only tools I can think of that come close to this system.)

<comment><USER16> Actually, this kind of encoding is quite common. Analog television, digital video and JPEG images are all encoded using brightness, red-green and blue- yellow channels. The details vary (eg. between YUV, YCbCr and YPbPr) but they all take advantage of the fact that our eyes are more sensitive to variations in brightness than to variations in colour. As a result, we can subject the colour data to higher levels of compression without noticing any visual degradation of the image.

</comment></comment><comment><USER17> _So there's no such thing as "red with a little green" -- there's just a less intense red. The brain physically cannot see "greenish-red" because the filter removes that information._

Under ordinary circumstances this is true. However, it has been shown that the human brain can be made to see reddish-green, yellowish-blue, etc. Scientific American published an article about this strange hack of human visual perception just last year. [http://www.scientificamerican.com/article.cfm?id=seeing- forb...](http://www.scientificamerican.com/article.cfm?id=seeing-forbidden- colors)

</comment><comment><USER18> A while ago I submitted an article[1] about the YUV colour system, which takes into account human perception of brightness/luminance, and how it differs between colours. It's also an interesting colour system to work with, as the 'Y' channel just stores luminance, so discarding the other two channels gives you a greyscale image.

I recommend reading it if you haven't already.

[1] <http://nreynolds.co.uk/blog/hsv-is-dead/>

</comment><comment><USER19> EDIT: joeld42 answered my question elsewhere on this page:

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

The artists reds and blues are just approximations to the magenta and cyan of printers.

\----

So I understand that in order to mimic the electromagnetic stimulation to the cones you only need to control the amount of RGB light hitting the retina. And I understand that propagating light is additive, so that for light producing displays you mix amounts of RGB, whereas pigments subtract light, so that for printing you mix amounts of CMY. (C paint absorbs non-R light, M paint absorbs non-G light, and Y paint absorbs non-B light.)

I further (kind of) understand that once printing and CRT screens are explained, there are additional properties of light due to the filters described in the article.

But can someone explain why the artist's paints are different from the CMY ink pigments? It seems like it's either (a) something weird about the way paints mix, (b) artists use paints which somehow take advantage of the filters in the eye, or (c) a combination.

<comment><USER20> Maybe you mistyped, but cyan paint _absorbs_ red light, it _reflects_ everything but red, i.e. cyan.

<comment><USER19> yes I did

</comment></comment></comment><comment><USER21> The checkerboard illusion at the end amazes me every time I see it.

</comment><comment><USER22> I must have missed something as a seven-year-old, because this is the first I've heard that blue and yellow were supposed to be opposites. To me, it always made sense that blue and orange were opposites, both conceptually and visually. The same with purple and yellow.

<comment><USER23> It's possible you're an anomalous trichromat: [http://en.wikipedia.org/wiki/Color_blindness#Anomalous_trich...](http://en.wikipedia.org/wiki/Color_blindness#Anomalous_trichromacy)

</comment></comment><comment><USER9>
      > But I digress, and besides I did promise to be all gross
      > and irresponsible, so I'll stick with that.
      > So there are R, G, and B cones.

Cute and all, but so very wrong. There are acceptable simplifications; this is not one of them.

</comment><comment><USER24> It's interesting that Red/Green and Blue/Yellow colorblindness correlate to the opposite color pairs that Jason points out. Does anyone know why this is? Are these types of colorblindness related to a deficiency in the filters (#s 1 and 2) he describes?

</comment><comment><USER25> Site was temporarily unavailable when I tried to post a comment, so here it goes:

This post clears up a few misconceptions for me, thanks for that.

I think you will enjoy the following link about "context" related illusions: <http://www.psy.ritsumei.ac.jp/~akitaoka/color12e.html>

Akiyoshi Kitaoka is a university professor from Japan that has created a very extensive and amazing collection of illusions, documenting so many subtle ways our eyes play tricks on us.

His homepage is really worth exploring:

<http://www.psy.ritsumei.ac.jp/~akitaoka/index-e.html>

</comment><comment> m-photonic >And magenta? It comes from full R and B with no G, activating Filter #1 full- positive, Filter #2 at zero.

This doesn't seem right to me. If the second filter were at zero, you should have a pure red and not something with blue content in it like magenta clearly has.

I think he may be representing the second filter as R+G-B, when R+G-2B would make more sense. The latter system shows FFFFFF as being neutral on the yellow-blue axis, while the former erroneously puts it in the yellow region.

<comment><USER4> None of these are straight-forward "linear" sums: there are differing amounts of each type of cone cell in the retina (and the proportions vary from one part of the retina to another), there are several levels of combination of signals which we don't fully understand currently, the eye/brain adapts to what it's just been looking at, what else is in the visual field, what it knows the light source to be, what "memory colors" it expects for an object, and so forth.

Thinking of the mechanisms of the eye operating directly on "FFFFFF" is a _very_ imprecise model for what's happening.

</comment></comment><comment><USER26> The budding designer in me loves these articles. While I can intellectually understand the color wheel(s), I'm still having issues grasping it emotionally and creatively.

</comment><comment><USER27> If you enjoyed that article, you may also like [http://www.designersreviewofbooks.com/2010/10/interaction- of...](http://www.designersreviewofbooks.com/2010/10/interaction-of-color-by- josef-albers/)

It is a beautiful book.

</comment><comment><USER28> while the article looks like a mashup of text-books and wikipedia (not to mention the self-aggrandization) and is interesting, this looks like SEO spam, one of these sites that sells you some book on how to get rich quick or how to start your startup.

I think I'll stick with my Johannes Itten.

<comment><USER29> You talk about what the article "looks like", but have you actually read it?

I found it to be a well-written, well-researched introduction to some of the problems in color theory. If that's what you mean by "a mashup", then I guess all secondary literature is.

As for the site, asmartbear is no stranger to these parts, and Jason's posts are well-regarded.

<comment><USER28> possibly my British grammar is stumping you, but yes, to read something you have to look at it.

This article might appear well researched here, but this is the hello-world equivalent on an art forum.

Maybe if Jason believes he has something meaningful to contribute to color theory, he should consider updating the Wikipedia page rather than promoting his own self interest by advertising his book & blog on HN.

<comment><USER30> > to read something you have to look at it.

It seems basic logic is stumping you: when A implies B, and B is true, it _does not follow_ that A is true. You assert that you've looked at the article, and certainly one needs to look at the article to read it, but that doesn't imply that you've read it.

> this is the hello-world equivalent on an art forum

I fear you might be at the wrong place - Hacker News isn't an art forum.</comment></comment></comment></comment>