4os – An operating system written completely in Forth - <AUTHOR> http://web.archive.org/web/19991022233047/www.itvc.com/Technology/4os.htm <comment><USER2> I was always fond of the Jupiter Ace [1] which was a Sinclair ZX-81 clone made in the UK in the early 80s. It had FORTH in ROM as the system language and operating system/interface, rather than BASIC.

> ACE's Forth was based mostly on Forth-79, with some relevant differences. > Runtime error checking could be turned off to further raise speed by 25% to > 50%. [...] The ACE's dialect of FORTH introduced several innovations. [I]t > added syntax checking to control structures and definer constructions [...] > as well as decompiling capabilities.

I think they only sold about three of them; I certainly never saw one in the shops. It was overtaken by machines like the BBC B, Commodore 64 and ZX Spectrum 48k, which were better specced (more than 1Kib RAM, colour output etc.) and had more software. Even the ZX-81, which I owned at one point and programmed in its idiosyncratic BASIC (including features like using the screen buffer as a few extra bytes of scratch memory!) was more popular. But, a nice idea, and I keep scanning eBay to try and find one to buy second-hand, just to see what they were like...

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

<comment><USER3> I wonder how to IT world would have turned out if we who played with the home computers in 80's as kids would have been exposed to Forth or Lisp instead of Basic.

<comment><AUTHOR> That right there is an excellent question. I was one of those whose first language was Basic, and I really wonder of Dijkstra was right: was I permanently damaged by learning it?

</comment></comment></comment><comment><USER4> For comparison, the QNX Neutrino operating system fits (no, used to fit: I last played with it ~15 years ago) on a 1.44mb floppy disk, which is a bit bigger, but also contained a decent browser for the time as well as a media player and other goodies.

[http://www.operating- system.org/betriebssystem/_english/bs-q...](http://www.operating- system.org/betriebssystem/_english/bs-qnx.htm) [https://en.wikipedia.org/wiki/QNX](https://en.wikipedia.org/wiki/QNX)

<comment><USER5> I've always wondered why they haven't open-sourced any of it, even a super old version. The photon gui stuff was exciting.

<comment> david-given They released some of it under a look-but-don't-touch license for a while, in an attempt to build a community, and you could get a free license for the desktop version of QNX (with all the developer tools in it). I think I still have a CD somewhere. It worked pretty well.

It may even be still available, but after digging up my old Foundry27 username and password (which, surprisingly, still works), their download site is an impossible trainwreck and I was unable to find it any more.

The demo floppy, by the way, is here:

[http://toastytech.com/guis/qnxdemo.html](http://toastytech.com/guis/qnxdemo.html)

Requires a 386 and 8MB of RAM.

</comment></comment></comment><comment><USER6> Was just reading Thinking Forth [http://thinking- forth.sourceforge.net/](http://thinking-forth.sourceforge.net/), this couldn't be more timely.

<comment><USER7> I read that recently, and then found out about "function level" languages, which are sort of the modern extension of stack-based languages.

Function level != functional. Check out Factor, for a prominent example.. the combinator library is beautiful.

<comment><USER8> I'm really impressed with Factor. This is the first time I've heard about it. Thank you for mentioning it.

</comment></comment></comment><comment><USER9> Open Firmware (as shipped on Sun machines and PPC Macs for years) is an operating system written in Forth, too.

<comment><USER10> OpenFirmware was also the firmware (~BIOS) for the One Laptop Per Child XO. The software was open sourced for OLPC and is online here: [https://www.openfirmware.info/Open_Firmware](https://www.openfirmware.info/Open_Firmware). This is the same code that was developed at Sun and evolved for Mitch Bradley's projects ever since. (I _think_ that Apple wrote their own interface-compatible implementation mostly in C.)

For OpenFirmware is one of the best programs in existence. See also the OLPC Forth Lessons wiki: [http://wiki.laptop.org/go/Forth_Lessons](http://wiki.laptop.org/go/Forth_Lessons)

<comment><USER11> There's even an OpenFirmware song!

</comment></comment></comment><comment><USER12> We moved our production server cluster (approximately 50 machines) over to 4os recently and the results have been great. Customers love it, the product is faster, easier to maintain, and new developers onboard quickly. We were able to get our existing team of 200 developers up to speed on Forth in about 30 days, and everything we do now is written in Forth for an OS built in Forth. For us it was a no brainer.

<comment><USER13> Do you deploy in forth containers, focker containers? and how do you manage a lot of fockers at once?

<comment><USER14> "how do you manage a lot of fockers at once?"

In a stack?

<comment><USER15> Probably more of a heap I would think.

</comment></comment></comment></comment><comment><USER16> There is also the kestrel with an Forth operating system. [http://kestrelcomputer.github.io/kestrel/](http://kestrelcomputer.github.io/kestrel/)

</comment><comment><USER17> Interesting, but found this:

[https://groups.google.com/forum/#!msg/comp.lang.forth/XCtQPZ...](https://groups.google.com/forum/#!msg/comp.lang.forth/XCtQPZYEVH8/Mp0mIhQ0HPoJ)

<comment><USER18> " _the source code is pre-alpha at best, is of fairly poor quality, implements less than web 1.0 early browser compatibility._ "

The marketing material on the web site gave me a different impression than the above quote. Perhaps they should put the quote on the site. ;)

</comment></comment><comment><USER19> I truly believe every programmer needs to learn and use Forth for a while. Same with assembler. And bring up a machine using both not aided by anything else. In other words, if you need a text editor to edit Forth screens you need to write it yourself, in Forth.

This does not mean I think Forth has a future in or is suitable for larger scale work these days. I do think it, and assembler, and the process of accomplishing the above can provide a massive learning experience that will only enhance what work a programmer might do in the future with modern languages and platforms.

<comment><USER20> So I've done what you suggest, both of them. The assembler was useful, got close to the metal. The forth, for me, was a waste of time. I remember writing something like less(1) in forth just so I could scroll forwards/backwards through code, search, you know, basic stuff.

I don't feel like learning forth did much for me. Learning assembler, hell yes, reused that knowledge over and over (I rewrote assembly versions of Unix stuff like ls, cp, rm, etc in Z80 for a CPM machine I had at University).

Maybe I just don't get forth.

<comment><USER19> It's been a while so I might not recall all the details. This is what I did on a 6502 in the 80's (the order might not be exactly right):

        - Write drivers (in assembler) for external UARTs and parallel port chips
        - Write (in assembler) enough code to get the very basics of Forth going
        - Now in Forth, write the standard set of Forth words
        - Write a rudimentary text editor
        - Write a floppy disk driver and file system management code
        - Now I have a Forth computer

At that point I started to use Forth for robotics. Quadrature encoder inputs. A/D, D/A and digital I/O. Eventually doing real-time PID loop. Control a single motor. Build a robot arm. Control five or six motors. Build an external LED hexadecimal display. Talk to it in Forth. Build a buttons and knobs control panel for the robot. Talk to it in Forth. Have loads of fun and learn a ton.

In other words, I had a very specific project in mind and saw it through from a bunch of chips on the workbench to a finished robot arm with user interface.

There are a million lessons to be learned in such a project.

I've actually thought about dusting off my old files and designs and putting together some kind of an educational kit to launch on Kickstarter. It could be a lot of fun.

</comment></comment></comment><comment><USER21> I was a big fan of Postscript and Forth. I loved Forth for the way it made you think about dividing up a program. It felt so natural to build a dictionary of words in pursuit of defining a higher level solution. I don't get the people who think its a write-only language. I came upon one of my old programs a decade after I first wrote it. Its was really easy to understand even now. Stack notation for comments with a bit of explanation are some fine documentation.

Postscript was a better Forth IMHO. I loved creating Postscript files for reports. My Turbo C, foxbase, and a Postscript printer were my main tools at my first job.

</comment><comment><USER22> Anyone have info on the Chuck Moore and [http://colorforth.com](http://colorforth.com) ? The colorforth website has been out of commission for a couple of months.

<comment><USER23> Looks like he recently (August, 2016) moved his company, GreenArrays, to Cheyenne, Wyoming.

</comment></comment><comment><USER24> So this is pretty interesting (especially as a Forth programmer), however was this ever open sourced, or even still available?

<comment><USER25> Question: I've looked at Forth a number of times and I think it's a fascinating looking language but I've never bothered picking it up. I've also never had a chance to talk to a Forth programmer. Can you tell me what type of application you're working on, if it's legacy or new development, and your thoughts on when to choose Forth over something else?

From what I understand, Forth is mostly used as an embedded "OS" when a traditional OS wouldn't cut it. Is that accurate?

Sorry, it's just not a terribly common language, but it certainly is interesting.

<comment><USER26> I tried to learn it, and found Forth to be an obfuscated, write-only language.

Forth programmers give a lot of lip service to writing short, well documented, elegant words (functions) but in real-world programs I've seen the opposite: the tendency has been to long, poorly documented, and convoluted words. (At least that's been my experience with open-source Forth programs. I've heard the libraries for commercial Forths are of much higher quality, but I have not verified this myself)

Forth has been compared favorably to Lisp, but I found them to be like night and day, and Lisp (and especially Scheme) to be far more elegant and easy to both read and write.

Forth might arguably be better than assembly, but unless you have a pressing need to write the tiniest programs possible (like on some resource-starved microcontroller), I'd be hard pressed to find a reason why you'd want to use Forth instead of some higher level language that is far less painful to work with.

In fact, I've even heard some Forth fans themselves say that the point of using Forth is to write yourself something as quickly as possible that lets you program in a higher level language.

Don't get me wrong, I really, really wanted to like Forth and spent a lot of time trying to learn it, but in the end it felt like it just wasn't worth it. I might give it another go if I get heavily in to programming microcontrollers where Lisp or Scheme is not an option.

<comment><USER27> _" Forth has been compared favorably to Lisp"_

In some contexts, that's true. Lisp needs insane amounts of RAM to get a decent REPL running (I can't find figures for the original 704 implementation (did it even have a REPL or was it compiled?), but I guess easily 20kB or more), while forth runs its REPL happily in a tenth of that space.

If you are bootstrapping the firmware for a device, where _bootstrapping_ means that you have to write the code interfacing with any of the hardware before you can use it, and you can find enough I/O pins to use for a serial port, a forth REPL is both easier to implement and way more useful than a lisp one. And if your device doesn't have much memory, it may be your only realistic option.

</comment></comment></comment></comment><comment><USER28> I recall the Forth entry from 'how to shoot yourself in the foot in programming languages': self foot shoot dup.

<comment><USER29> It should be: foot dup shoot shoot

</comment></comment><comment><USER30> Why wayback machine? Is it dead by now?

<comment><USER31> Been dead for sometime. There is a lot of references to 4os on Google Groups where people were discussing if the company would open source the OS before they went under.

Judging by the fact there aren't many other references to 4os I don't believe they did.

Discussion for those interested [https://groups.google.com/forum/#!topic/comp.lang.forth/I3Bg...](https://groups.google.com/forum/#!topic/comp.lang.forth/I3BglDBLnDQ)</comment></comment>


White US professor Jessica Krug admits she has pretended to be Black for years - <AUTHOR> https://www.theguardian.com/world/2020/sep/03/jessica-krug-white-professor-pretended-black <comment><USER2> This is what happens when you try to cure racism with more racism.</comment>


SourceForge Hacked - <AUTHOR> http://sourceforge.net/blog/sourceforge-net-attack/

<comment><USER2> Maybe "cracked" would have been a better choice of word when used in the context of Sourceforge. ;)</comment>


Chrome 80 update cripples top cybercrime marketplace - <AUTHOR> https://www.zdnet.com/article/chrome-80-update-cripples-top-cybercrime-marketplace/ <comment><AUTHOR> The structure and operation of the Genesis store was an interesting read.

MFA can't solve everything.</comment>


Managing Older Managers: A Guide for Younger Bosses - <AUTHOR> http://blogs.hbr.org/cs/2010/08/managing_older_managers_a_guid.html

<comment><USER2> WTF!!!

"Let them know that you are working long and hard. Even accomplished, self- motivated senior colleagues won't work harder than you will for very long. Send emails early and late. Invite meetings on weekends and at odd hours. Be in the office or online all the time. Dial into meetings at insane hours during overseas travel. Understand that managers older than yourself may have families that require them to live by different rhythms from yours — they may need to be offline from 6 to 8, for example. But expect them to be working long and hard, whenever it is, and make sure you are always doing more than they are. Because you have less natural authority when working with older people, reinforce your "moral right" to demand hard work by showing that you demand even more of yourself."

This seems dishonest and distracting, maybe even slimey. I'm mentally more tired just by imagining taking a course of action for show IN ADDITION to doing real work. I wouldn't want to live or think this way. We've all had these thoughts as kids, but when we grow up and become wiser we see how all of that is a distraction. Maybe I"m overreacting, but in the context of an otherwise sane piece, that paragraph surprised me.

<comment><USER3> The whole thing emphasizes the _appearance_ of hard work rather than actual results, which is an attitude I hate.

<comment><USER4> It IS the HBR...

</comment></comment></comment><comment><USER5> I really dislike the fake and pretentious "politically correct" style that refers to anonymous people in typically male-dominated occupations (in this case, management) with feminine grammatical person (she), to "balance" things. It is simply dishonest and implies to me that the professional honesty of the speaker is, at least, questionnable.

<comment><USER6> If 1 in 5 managers are female should 1 in 5 pronouns? :)

People seem to have forgotten that "him" is the long-standing traditional way to refer to an unknown person. In Spanish, for example, "ellos" can refer to "them (male)", "them (mixed or indetermine gender)", or "them (inanimate objects)"

</comment></comment><comment><USER7> Let them know that you are working long and hard. -- Dishonest and Disrespectful.

Seek their opinions, even when you don't really need them, especially on topics that aren't within the reach of their roles.-- Dishonest, Manipulating and Contemptuous

Good luck to you sir.

</comment><comment><USER8> Archived under "Defense Against the Dark Arts".

</comment><comment><USER9> I have managed older folk and they appreciate the same things we all do. Be honest and upfront, let them know what you expect of them and what will happen if they accomplish the goals and what's the outcome they don't.

And then be true to your word.

The only thing that's a little different is that some older folk appreciate you openly ask for their input piggybacking on to their "extensive experience" while some see it as a sign of weakness. You have to measure the person but, then again, it's almost the same with younger folk.

</comment><comment><USER10> _You already know that winning depends in no small part on hiring people better than yourself. If you are a youngish entrepreneur or boss, that will entail hiring older and more experienced people, especially in top roles for your organization._

How many YC companies subscribe to this? It seems few and far between are the company bio pages with anyone over 35.

<comment><USER11> There will be great talent in all age brackets, but, of course, younger founders will generally network with younger people. If a founder finds a great employee 20 years his or her senior, then age should hardly matter. I do understand being nervous about hiring someone who is old enough to be your parent, but maybe more columns like this will help ease that anxiety & enable founders to build better companies.</comment></comment>


Open Sourced: Newscombinator Front End - <AUTHOR> https://github.com/tomw1808/newscombinator

<comment><AUTHOR> What happens when you are on the HN top site (beside you open a beer and enjoy that little tiny moment after months of hard work):

a live snapshot [http://i.imgur.com/0KbPjcx.png](http://i.imgur.com/0KbPjcx.png)

<comment><AUTHOR> Thank you everyone. Hard to describe the feelings, somewhere between moonwalk and break-dance.

another snapshot: [http://i.imgur.com/CBYRvV3.png](http://i.imgur.com/CBYRvV3.png)

server load peaking @2.00 seems to be stable

<comment><AUTHOR> After a short break, still on the HN/top. Seems like america is sleeping now and europe is not yet quite awake :)

another snapshot: [http://i.imgur.com/LcgXdFy.png](http://i.imgur.com/LcgXdFy.png)

still everything running stable.

</comment></comment></comment><comment><USER3> Cool, I like it. One request: Start all stories collapsed. Right now, the Ellen Pao story is at the top, with about two dozen related headlines beneath it - that takes up a lot of screen space (every time I refresh I have to collapse that space).

It would also be good to be able to collapse/expand by clicking on the headline count.

I'm not sure how I feel about the continuous scroll. Often I like that, but here I am unsure, but it may be because of my particular use case: I use LinkVisitor to mark all links as visited, so that next time I know which I've already read or decided to ignore. Having a fixed number of headlines makes it easier for me to recognize that it is time to hit cmd-fn-f2. If others get a lot of value from the continuous scroll, don't worry about it, mine is likely quite the edge case.

<comment><AUTHOR> Hey there, thanks for the feedback.

Its kind of a funny thing here with that Ellen Pao case. I didn't see similar stories for quite a while on the very top and exactly now there is one. Shouldn't be an excuse, rather something I literally just learned about my app. And if everything is collapsed at the very beginning, it also looks kind of odd (for me at least).

Thanks for the great feedback. Considering its an angular app, it shouldn't be that hard to have a switch to choose between endless scroll / normal pagination. But its a long way to go. I'll put it on the list :).

</comment></comment><comment><USER4> Seems really cool, it gets the great honour of being a pinned tab in my browser (ńext to HN).

I think a little icon that indicates the source next to the title (on the left) would be really useful to quickly scan what media ranks where and maybe only select the top stuff from your most trusted source etc.

<comment><AUTHOR> That is, indeed, a great honor. I didn't expect my Saturday ending at home, monitoring the servers - in a good way.

The icon is a great idea, now the problem: What happens if a link was on 8 sites (2 x reddit, 4 x ycombinator, datatau, makernews). What would you expect next to the title?

</comment></comment><comment><USER5> I also have been exploring what it may mean to automagically categorize news content.. I took an approach on [http://www.rivyr.com](http://www.rivyr.com) of following RSS feeds.. then reverse searching the titles against my product database to attempt to autoclassify news by product. Wish I could see your backend as that's where the secret sauce is but definitely understand not doing that ;)

<comment><AUTHOR> That is super interesting. I'm actually working more closely with Apache OpenNLP for feature extraction and LibLINEAR to classify the news according to their category. Its not too far from coming out of alpha to an open beta version. Why not subscribe to the mailinglist and I'll shoot you more infos over in the upcoming weeks?

</comment></comment><comment><USER6> This was something i was planning to build soon for myself. Great job on the UI.One thing kinda bugged me was when you select the source from the sidepanel it collapses for each selection not allowing to select another source without collapsing. I am on OSX Yosemite/Chrome-Version 41.0.2272.104. Also is the backend Elasticsearch? Is the backend elasticsearch?

<comment><AUTHOR> Hi. First: thank you for the kind words. Second: I'm going to fix that, I know, it already annoyed me today and I just implemented the collapsed sources last week for better readability.

The backend is Solr in combination with a custom scraper in java and a lamp stack. The REST interface is wrapped around a php for better auth handling - and mainly because I'm a big fan of the Zend Framework and Pimcore [1] - <USER2> of the best CMS I've come across in my life (I'm not working for them).

Although I cannot give you access to the full source of the scraper/backend (at the moment), why not get in touch and/or follow on twitter/mailinglist. I'm going to send out updates what problems I was struggling on and how I solved it from time to time.

[1] [https://www.pimcore.org/](https://www.pimcore.org/)

</comment></comment><comment><USER7> The related stories feature's cool. I made my own tool for reading HN (and some other sites) it's kind of different as it pulls the stories into a linear feed. I'll need to have a go at adding related stories. My site's [http://www.serializer.io](http://www.serializer.io) if you're interested.

<comment><AUTHOR> I saw it today in the HN Notifications Thread (I think) and was already impressed, its great work, imho.

<comment><USER7> Cheers! Nice to know I'm not the only one that thinks it's cool.

</comment></comment></comment><comment><USER8> Btw, your "Btw, JSON anyone?" link is broken:

        {
          "error": {
            "msg": "undefined field: \"log\"",
            "code": 400
          }
        }

Otherwise, great work! Looks very nice!

<comment><AUTHOR> Interesting, as it works normally for me. Which browser you're on, if I may ask?

It should just open a new tab with the same request as sent to the REST interface anyways in the background...

Like that one [http://goo.gl/eLiUT1](http://goo.gl/eLiUT1)

</comment></comment><comment><USER9> this is interesting - could you talk a bit about your solr schema ? In a very naive way I would be simply storing it all as a indexable text blob. Did you do anything more, just so that you can avoid a database ?

<comment><AUTHOR> Sure. Well, basically Solr is just a flat index, although you can store now mutliple-values in one field and even make joins. Here is the clou: Everything is preprocessed and stored in a mysql-db and solr just "caches" everything. Its some kind of the flattened mysql schema. So I have a combination of a relational db and all the benefits with the huge bonus of the speed and reliability of solr in between. I started of with just a MySQL db, but real- time scoring is really a pain in the "back" with mysql and I couldn't figure a nice way to do it. On the other hand, if you expand a story, you see that the comments/upvotes from the sources are fetched, because joins like that are no possible in solr (read: I couldn't find a way to do it).

So, all the information is preprocessed at index time and solr is basically a text-blob spread across multiple fields, yes.

</comment></comment><comment><USER10> Cool, thanks a lot :)

</comment><comment><USER11> why is it written in angular?

<comment><AUTHOR> why not?

<comment><AUTHOR> Let me comment more on my short "why not" \- here is why yes:

First off: I don't choose a language because its 2014, 1999 or 1985. Or because its hip, cool or just "in". I choose a language for me, because it can help me achieve what I want to do in a reasonable amount of time. If the outcome is great, even the language is shit, its still great outcome. If the outcome is aweful, no matter how great the language is, the outcome is still not good. And I think the outcome is okay in this case and the framework is in my opinion pretty cool (considering I started JS first on IE5.5), so I cannot be blamed for being happy with a framework like this :).

And, based on my opinion, I choose angular, because I have learned it first and to love it last year. Great community and good documentation imho. I think its the wrong move to change the unterlying API with the new verison. If that really happens, then I maybe switch, learn something new, better - maybe. React is awesome, plain Javascript too imho.

Thoughts?</comment></comment></comment>


Running out of juice: How will we recharge all the electric cars? - <AUTHOR> http://www.economist.com/daily/columns/techview/displaystory.cfm?story_id=15434416

<comment><USER2> This seems long on hand-wringing, and short on actual problems.

For example, the article notes that cars recharging at night will help utility companies to even out their demand-curve. The article then worries about whether the utilities will want to run their network at full-capacity, and how having it always running would be a maintenance problem. But that's ridiculous, of course the utility companies want to run at higher capacity and sell more utility. If their network is being taxed, they (or a competitor) can build more power generation and the problem is solved.

Similarly, if the concern is around the peak/off-peak power pricing, these times can be adjusted (if, for example, the car recharging 5-7pm the new highest power consumption times).

<comment><USER3> OK, I haven't Read The Fine Article, but an earlier item from the IEEE that I think was submitted to HN pointed out among other things that neighborhood transformers aren't sized for high output 24x7 (they need off-peak nights to cool). California utilities expect to lose some _this year_ in areas like Santa Monica.

There were other issues mentioned, like a Canadian utility that sells cheap "green" hydropower to California during the day and saves up water during the night; if they/California get a lot of nighttime demand they'll have to buy coal fired power from another province.

Hey, the system was build under one set of assumptions; if you change those _drastically_ as the electric car people propose to do it won't adapt automatically or cheaply. You can't fool Mother Nature.

</comment></comment><comment><USER4> "in places like Los Angeles, the San Francisco Bay Area and Washington, DC, every other car seems to be a Toyota Prius"

Can't speak to LA and the Bay Area, but I live in Washington, and if I got a dollar for every Prius sighting, it wouldn't cover my bus fare at $2.50/day.</comment>


Windows 10 Sends Your Activity History to Microsoft, Even If You Tell It Not To - <AUTHOR> https://www.howtogeek.com/fyi/windows-10-sends-your-activity-history-to-microsoft-even-if-you-tell-it-not-to/ <comment><USER2> This has the same feel to me as the use of "unlimited" in cell phone plans – a semantic looseness that hovers north of criminal but south of acceptable.

It seems companies are free to make technical claims of questionable veracity with little fear of consequence. No wonder – we seem unable to elect leaders who take this topic seriously.

It's a lot harder to get away with this crap in the food and drug industry. I bought 4 boxes of tea yesterday and one of them is littered with legalese for having included valerian root. There were 4 asterisks on the front of the chicken sausage, following words like "Natural". Parsing the information can be tedious, but I think it's wonderful that those industries have a more difficult time concealing their shenanigans. Though there are still many tricks – "free range" and "grass fed" have loopholes you could drive a herd through.

Ultimately, companies are going to keep doing this to us for as long as it's profitable, and until we give them a compelling reason to stop.

<comment> T3OU-736 While I do not disagree with your points, I would argue that it is more likely that this is a prime candidate for Hanlon's razor.

The attribute substitution heuristic makes ts easy to treat Microsoft as this single homogenous entity, but given its size and the diverse number of groups working on things, this diverse set of toggles of how to disable all the crappy ways in which they collect data is likely just a result of these multiple groups finding their own toggle a place in the settings panel.

Should they, as a company who has made loud noises claiming to care about user privacy (data centers in Ireland) be a lot better about disclosing _everything_ they collect, _how_ they collect it, and ALL the ways to disable said collection mechanism(s)? Absolutely. But to assume that they do not do this because malice? Nah, incompetence due to low actual business priority of caring about end user privacy seems more likely.

<comment><USER2> I 100% agree – I do not attribute this specific microsoft issue to malice. It's insanely hard to coordinate between teams at their scale, especially when feature ownership is partially shared in difficult-to-model ways. (I do attribute the misuse of "unlimited" by phone companies to malice, FWIW.)

My point is more that microsoft, like any company, could implement processes to better catch this class of errors before they ship, but don't, because there are too few consequences for making mistakes, and so there's no incentive to improve prevention efforts.

</comment></comment></comment><comment><USER3> Just history repeating. Free fancy IDEs can't change everything.</comment>


Cloudera Intern - Looking for Room in SF Bay for Summer - <AUTHOR>

Howdy,
I'll be out in SF this summer for an internship with Cloudera and I am looking for a room. I'm 20 and am currently living in central Ohio. Cloudera's office is near the Burlingame Caltrain station, so anything near a Caltrain station would be ideal.
I'll be looking to room from June 14 - beginning of September. I am very tidy, won't be bringing much (laptop and clothes), and will likely be at Cloudera's office for the majority of the day.
I'd be glad to do a video Skype if you'd like, and/or a phone call. I'm hoping that YC will have a more interesting crowd than Craigslist, so hopefully this will work out.
Feel free to send along any tips of potential rooms available. Email me with info/price and we'll move forward from there!
EricPKerr @ gmail - <USER2> http://twitter.com/DoQrs
Thanks, -Eric K <comment><USER3> Congrats on the internship. Good luck finding a place.

(And for anyone considering this-- I've met Eric, and I am pretty sure he's sane.)</comment>


DuckDuckGo instead of Google on your new tab - <AUTHOR> https://chrome.google.com/webstore/detail/duckduckgo-new-tab/opneaooaogdfjjdbdfnjfdflpphconbo#hacker

<comment><USER2> Come on. You submitted the same link three times in one hour. Once normal, then with the suffix #hn and then #hackernews. In your history I see you've done the same last week and the week prior.

<comment><AUTHOR> Yes, with the amount of post on HN, mostly of them just not reach the front page because the "newest" window is not long enough for people to read it. I usually try a few times to check if the link is interesting or not. Sorry for any inconvenience :)

<comment><USER2> No worries. I upvoted each one. I spent too much time in the 'new' queue today.

<comment><AUTHOR> Well, I won't do it again :( I have learnt my lesson.

Although right now it could be on the front page (11 points), it seems that someone "punished" it. I guess the only way is to post and cross fingers to be on the right time.</comment></comment></comment></comment>


UK government puts IR35 tax reforms on hold for a year - T-zex https://www.theregister.co.uk/2020/03/17/uk_ir35_tax_reform_postponed/ <comment><AUTHOR> I'm surprised that the government announced 3 month mortgage holidays, but not the same for renters. That seems like a pretty glaring omission.</comment>


Why C is faster than assembly - <AUTHOR> https://blogs.mentor.com/colinwalls/blog/2013/02/18/why-c-is-faster-than-assembly/ <comment><USER2> Title should be "Why C development is faster if I don't indepth know how to write assembly fast."</comment>


How Social Media Giants Side with Prosecutors in Criminal Cases - <AUTHOR> https://www.themarshallproject.org/2018/01/15/how-social-media-giants-side-with-prosecutors-in-criminal-cases <comment><AUTHOR> The warrant requirement for content online, while good for privacy, absolutely hobbles criminal defendants. I pointed out this troubling issue years ago in a similar thread: [https://news.ycombinator.com/item?id=11073479](https://news.ycombinator.com/item?id=11073479).</comment>


Object oriented programming in C (2007) - <AUTHOR> http://ldeniau.web.cern.ch/ldeniau/cos.html <comment><USER2> Casey Muratori recently gave a great talk during a Q&A talking about the way he uses C to achieve some of the same things people typically think of as object oriented (starts around 19:39)[0]. It doesn't cover everything that makes up OO design but I like it because highlights how C is powerful and capable of things like polymorphism in a cleaner way than C++.

[0][https://hero.handmade.network/episode/chat/chat014#1179](https://hero.handmade.network/episode/chat/chat014#1179)

<comment> unkown-unknowns Direct link to video at 19:39 [https://www.youtube.com/watch?v=EhtxDXlrJ6Y&t=19m39s](https://www.youtube.com/watch?v=EhtxDXlrJ6Y&t=19m39s)

</comment></comment><comment><USER3> There's also the book from Axel T. Schreiner: [https://www.cs.rit.edu/~ats/](https://www.cs.rit.edu/~ats/)

</comment><comment><USER4> This isn't surprising. All that you need to write object-oriented programs (not necessarily in a convenient manner) is some form of dynamically dispatched procedure calls.

<comment><USER5> Yup. Pointers to functions and call equivalence of functions and pointers to functions are that in C. Prototype interfaces (ie plugins) are trivially had with a struct containing pointers to such common API functions. The plugin just needs an init function that returns a pointer to such a const structure, and you're in business.

Another popular trick is to use opaque structs for private data contained in the public struct in the header. Then, the private code defines the private struct. It's not perfect information hiding but it separates what is intended public and what is intended to be private.

        /* foo.h */
        #ifndef FOO_H
        #define FOO_H

        typedef struct _foo_ctx_t {
                int timeout;
                void *priv;
        } foo_ctx_t;

        #ifdef _cplusplus
        extern "C" {
        #endif

        foo_ctx_t *foo_init(foo_ctx_t *self);
        int foo_bar(foo_ctx_t *self);

        #ifdef _cplusplus
        }
        #endif

        #endif /* FOO_H */

        /* foo.c */
        #include "foo.h"

        #include <stdlib.h>

        #define PRIVATE(var) ((foo_private_ctx_t *)(self->priv)->(var))

        typedef struct _foo_private_ctx_t {
                int whatever;
        } foo_private_ctx_t;

        foo_ctx_t *
        foo_init(foo_ctx_t *self) {
                self->timeout = 1000;
                self->priv = malloc(sizeof(ctx_private_ctx_t));
                if (!self->priv) return NULL;
                PRIVATE(whatever) = 0;
                return self;
        }

        int
        foo_bar(foo_ctx_t *self) {
                PRIVATE(whatever) += self->timeout;
                return 1;
        }

</comment></comment><comment><USER6> just use c++ dude

<comment><USER7> There are still a few reasons to use C even to this day and I'd add that the page was last updated in 2007.

<comment><USER8> Unless it's compile speed or not having an updated C++ compiler for your platform, I'm not sure what that would be.

Edit: Is it the new thing to hate on C++? Downvotes aren't arguments

<comment><USER9> It was never a new thing, afaicr.</comment></comment></comment></comment>


Not too soon: Moonlight 2 finally reaches beta - <AUTHOR> http://www.tech-no-media.com/2009/08/not-too-soon-moonlight-2-finally.html

<comment><USER2> From the article: _Since Adobe releases Flash runtimes simultaneously on Windows, Mac and Linux, the minimum that Microsoft needs to offer to be credible is the same simultaneous release schedule._

This statement is erroneous to some extent. Flash 7 for Linux was of dubious quality, Flash 8.x for Linux was skipped altogether, and Flash 9 wasn't released simultaneously with the Windows/Mac versions.

Linux is a second-class citizen for Adobe ... of course, they have reasons to not consider Linux. But there's no guarantee from the history of the project that this level of support will be continued in later versions.

Also, Moonlight is not a Microsoft project. It's an open-source project sponsored by Novell and it is in a better shape than any Flash-clone available. This is very important to me ... it means that it's portable to any platform available (you don't depend on Adobe in any way), and it also means that you have an open community willing to help. Also, some of the features in Silverlight 3.0 are already in Moonlight (like the pluggable codecs).

I must warn the curious that Moonlight currently has some stability/performance issues.

<comment><USER3> Flash has been on Linux longer than you think: [http://web.archive.org/web/20000815054538/www.macromedia.com...](http://web.archive.org/web/20000815054538/www.macromedia.com/shockwave/download/alternates/)

Player 8 skipped Linux because it was an interim release with a better graphics engine, and was replaced shortly by Player 9 with a faster logic engine. Unfortunately this was during the same time that YouTube first became popular. Historical notes here: [http://blogs.adobe.com/jd_archive/archives/2006/08/linux_obs...](http://blogs.adobe.com/jd_archive/archives/2006/08/linux_observati.html)

"Linux is a second-class citizen for Adobe" Nah. There's not much chance of revenue for Creative Suite porting, but tools like Flex Builder, and runtimes like AIR, all bring Linux to parity... for instance: [http://blogs.adobe.com/jd_archive/archives/2008/03/what_airl...](http://blogs.adobe.com/jd_archive/archives/2008/03/what_airlinux_m.html) [http://blogs.adobe.com/jd/2009/05/linux_journal_readers_choi...](http://blogs.adobe.com/jd/2009/05/linux_journal_readers_choice_a.html) [http://blogs.adobe.com/jd_archive/archives/2007/10/flex_buil...](http://blogs.adobe.com/jd_archive/archives/2007/10/flex_builder_li_1.html)

The explosive thing is next year's devices -- both mobile and home wallscreens -- which use Linux operating systems in higher proportion than do laptops. Check out openscreenproject.org for context on how important Linux has become at Adobe.

</comment></comment><comment><USER4> Yet noone cares.

However, if you showed me a flash plugin that won't crash, would work with every browser (including my Konqueror) and wouldn't eat 99% CPU, I'll go WOW all over.

Because Flash is everything. Youtube. Conference videos. Anything else, you name it.</comment>


Microsoft IE9 developer preview with HTML5 support ready for download - <AUTHOR> http://blogs.zdnet.com/microsoft/?p=5572 <comment><USER2> Still no HTML5 canvas support. What a shame.</comment>


Ask HN: Where to go in Portland - <AUTHOR>

I've decided to check out Portland Oregon as a place to live, mainly due to what I've heard about it through HN. I'll be up there all this week. What places in the area should I check out that would relate to the HN crowd? <comment><USER2> Books: Powell's Technical Books

Tech meetups: <http://calagator.org/>

Retro arcade: Ground Kontrol

Nature: 10 zillion wonderful beautiful waterfalls and hikes nearby, I recommend a place called Angel's Rest for starters.

Coffee: Crema, Extracto, Stumptown

Tea: Townshend's Tea House, Tea Zone, Tao of Tea

Food: Pambiche, Pine State Biscuits, Tin Shed, Screen Door, ... there are too many to list, really. Epic food all over.

Dessert: Sahagun Chocolates, Cacao, Rimsky-Korsakoffee, Pambiche again

Employment: GOOD LUCK... Portland is already oversaturated with talent.

<comment><AUTHOR> I think you just set my itinerary. Thanks a lot.

<comment><USER2> You betcha :D

</comment></comment></comment><comment><USER3> I live in Portland and Powell's Technical Books is a good suggestion. It's a branch of the main Powell's store which is located a couple a blocks up the street.

I always recommend that people visit Pittock Mansion early in their trip. It overlooks the whole city and the surroundings of the city (Columbia Gorge, Cascades, Mt. Hood). It's a free thing to do that has tremendous payoff. It allows you to get a good handle on the layout of the city in one fell swoop. Makes the rest of the trip easier. Note: I'm not talking about going IN the mansion.

Free Geek is a technology-only thrift-store. There's room for improvement but it's pretty great. I buy stuff there often. <http://www.freegeek.org/>

There are A LOT of tech-related meetups that go on here. Check upcoming.org for your flavor of discussions.

Mostly, I recommend just chilling out a coffee shop like Stumptown.

</comment><comment><AUTHOR> I've heard Powell's Books technical bookstore, just to start it off.

</comment><comment><USER4> It's been awhile since my wife & I lived in Portland, but if it's still there try the Heathman Pub downtown. Really good pizzas!</comment>


Earthlings - <AUTHOR> http://www.unleashed.org.au/features/earthlings/ <comment><USER3> This is an excellent documentary but I'm surprised on how many people simply don't get the point.

This documentary is not about being vegan, is about give the animals a decent live and improve the way we treat them. Also talks about speciesism: [http://en.wikipedia.org/wiki/Speciesism](http://en.wikipedia.org/wiki/Speciesism) comparing it to racism.

The documentary shows crude images, but this is how it is. Closing the eyes to the reality won't make it better.

<comment><USER4> >Also talks about speciesism: [http://en.wikipedia.org/wiki/Speciesism](http://en.wikipedia.org/wiki/Speciesism) comparing it to racism.

That's a nonstarter for me and makes me want to avoid this film.

Speciesism is a perfectly reasonable position. Assigning the exact same values and rights to cockroaches/jellyfish/ants as we do to humans is ludicrous. Any number of moral thought experiments should immediately demonstrate how absurd that would be (e.g. would you refuse to sacrifice 2 ants to save 1 human?).

<comment><USER5> > Any number of moral thought experiments should immediately demonstrate how > absurd that would be (e.g. would you refuse to sacrifice 2 ants to save 1 > human?).

Ahh, but don't stop there. Make such though experiments with humans (Would you sacrifice one 80 year old to save two 40 year olds? Would you sacrifice 3 illiterate children to save one wunderkind? Is a person you know worth 1.3 or rather 2.7 people you don't know?) quickly shows that those are equally absurd, so the absurdity in one case proves nothing.

<comment><USER6> There is nothing absurd about any of those scenarios. Those are perfectly valid questions, and to answer them might be difficult - that's why it's not at all obvious that 40 year olds are more morally "important" than 80 year olds (for me they obviously aren't). However, to answer the original question is very easy: Human > Rat. Defending the opposite position is absurd, and although some people might feel Human=Rat - it's a fallacy to compare this to "Black human = White human", or to "Jew=Non-Jew".

</comment></comment></comment></comment><comment><USER7> Why don't more people post videos and articles about the mistreatment of migrant farm workers in America?

[http://www.economist.com/node/17722932](http://www.economist.com/node/17722932)

My ex was a vegan. She always complained about the mistreatment of animals used for food but never thought twice about how the people were treated who picked all the vegetables she ate.

It's basically slave labor in many cases. Low pay, terrible working conditions, long hours. Imagine crawling through the dirt on your knees for 10 hours a day in the California sun, filling buckets of vegetables for $0.80 a bucket, and if you screw up your boss reports you to immigration?

I have family members who were migrant workers just a single generation ago so it hits a little closer to home than some people. But those vegetables don't make it to the store without any suffering, just like pork chops don't.

<comment><USER8> I dont know how it is in the USA but in europe we have multiple organizations that make sure Food (Animals or not) is processed in a sustainable way. They offer a signet (?) and when producers want it on their food they have to play by the rules. Ever heard of FairTrade ? All vegans i know hardly buy any food without a signet like that, knowing that its more expensive. But the race to the bottom in food prices is one of the worst developments that leads to so much misery for animals and humans producing food.

I eat meat maybe about once a week and pay 3 times as much as i would have to, but i am not willing to support this development any further.

</comment></comment><comment><USER9> I love meat, it's an important and delicious part of the human omnivorous diet.

That being said, I wouldn't object to the periods wasted on home economics in middle school being turned into a "sources of food" education class that included trips to farms, food processors, factories, sausage-makers and slaughterhouses. It should be on par with "sex education" in terms of parental consent, but should be a necessary and important part of every child's education. It should include information on nutrition, vitamin and mineral sources, discussions on food chain contamination and concentrations of heavy metals and contaminants in the upper ends of the food chain and what that means (and why we as a species tend not to eat animals like apex hunters). Oddball foods that kids wouldn't normally eat at home like yeast paste, soy products and seaweed/kelp/sea vegetables should be included.

I grew up pretty rural in my teens so a class like this would have been a bit superfluous -- there's a cattle farm not 10 minutes from my parent's house. Growing up around farms, you get to know the birth-to-dinner plate process for food stock animals pretty quick. Many of my neighbors were too poor to buy meat, but filled a couple chest freezers every year with meat during deer season. It's not unusual to see a deer being processed in somebody's yard where I grew up. Deer are very good eating.

But before that I was a city kid (until my parents fled to the boondocks), and had I finished growing up in the city, would have needed an education like this to understand better what I'm eating and why.

I wouldn't even object to two films being shown as part of the curriculum, industry standard humane practices for food stock animal handling, and PETA style shock videos of unethical and deplorable conditions...leaving it open for the students to reach their own conclusions about what it means and what to do about it.

<comment><USER10> > economics in middle school being turned into a "sources of food" education > class that included trips to farms

As someone who grown up on farms, I would be quite worried in how such trips would work. The difference between a small farm (< 50 animals), is day and night. I could also easy see how kids without good guidance could imagine a sterile environment to be a "good farm", while a well kept farm to be "bad" because it has stray of hay laying on the floor.

To take a more specific example, a chicken population of 6, 30, and 300 is each radical different in design.

<comment><USER9> Probably true. I could also see farm field trips becoming a nice source of regular revenue for some struggling farms.

</comment></comment></comment><comment><USER5> I saw this a few years ago.. it turned my stomach, but I'm glad I saw it. Maybe I should watch it again. The disconnect between things we buy/do and what goes into them can be so huge, and it's so easy to get lulled back to sleep.

I have no idea what this is doing on HN, but _if_ you can stand it, do watch it. You might be sad/angry after you did, or have nightmares, or become veg(etari)an. It is not pleasant and will not leave you cold. If you already are depressed because of the season or something, bookmark it for later maybe.

</comment><comment><USER11> Just a heads up: there's a _lot_ of confronting and graphic imagery in that movie. It's not something you can easily unsee.

I'd still recommend watching it. Knowledge is power, of course, but in a safe state before tuning into it.

<comment><USER12> Is there knowledge here, or heavy-handed emotional manipulation?

I'd attack a water buffalo with a fork and eat his brains out raw if I were starving enough, but I don't know if I'd want to keep videos of it around on YouTube.

Thanks for the heads-up. I love emotionally-powerful messages, just not simple-minded manipulative ones. Sounds like it _might_ be a good flick.

<comment><USER13> I've seen it some months ago and I would lean to the manipulation side. There are a lot of heavy-handed comparisons (e.g. to the holocaust) and things like that just to get their point across.

I agree that the imagery is powerful and will most likely haunt a lot of people for days or weeks, but the narration bothered me at a number of points during the documentary

<comment><USER14> How are the comparisons to the Holocaust incorrect or unjustified?

</comment></comment></comment></comment><comment><USER8> Species kill and eat other species in order to survive, but the way we have automated the killing so that we have a total disconnect from the awareness of what we are actually eating is very distressing.

<comment><USER15> Humans _did_ kill and eat other species to survive. At this point, Americans eat far more animals than needed solely for survival - often so much as to be unhealthy - and it is quite possible to survive and thrive without consuming animals.

<comment><USER7> >> At this point, Americans eat far more animals than needed solely for survival

They eat far more plants than needed as well. Animals has nothing to do with it.

<comment><USER16> Animals has a lot to do with it - Animals are sentient, thinking, feelings beings. A calf has the same personality and emotions as a puppy.

<comment><USER17> And a pig has the IQ of a 3 year old human.

</comment></comment></comment></comment></comment><comment><USER18> Oh come on, really? Contrasting caged animals with jews in concentration camps? Meat consumption equals holocaust? People feeding on meat equal Hitler?

I can see the point animal rights activists are tring to make, but the hypocrisy of this movie was already making me sick when I watched it the first time a couple years back.

<comment><USER5> Have you seen "Baraka"? When it shows people living like sardines, and chicken being put on conveyor belts having their beaks singed off.. how equal do things have to be so they can be compared? Yes, the Nazis were clearly different in their hatred and their torture. Yet when I see chicken in darkness and tiny cages, I do get a similar vibe, that is, some of what appals me about concentration camps, is also present there. Sentient beings suffering in cages for the supposed benefit of others. One is apathic, the other hateful, one is towards animals, the other towards humans ( = the animal we most closely identify with), but otherwise..?

Take this statement for example:

"[..] if one is in touch with one's own unconscious reality, I think one would have to admit that in all of us there is a piece of Eichmann, and if you ask why, on what basis do I say this, then I would ask you wether you have lost your appetite when you read that in India people were starving, or wether you have gone on eating. As soon as you have not lost your appetite, when you knew other people were starving, then your heart has hardened, and in principle, you have done the same which Eichmann did."

\-- Erich Fromm ( [http://www.youtube.com/watch?v=psVNR51ctdc&t=33m28s](http://www.youtube.com/watch?v=psVNR51ctdc&t=33m28s) )

Do you find this offensive too, or do you agree he has a point? I think the key concept here and elsewhere is "in principle".

<comment><USER19> What marvellous hyperbole!

Absolutely, if you read about starving people and don't stop eating, that must be much the same as planning and executing a racially motivated campaign of genocide!

I don't think it's offensive. I think it's ridiculous, and no, not the same in principle at all.

<comment><USER5> What is ridiculous is what arrives on your end, not what is originally sent out.

> "don't stop eating"

He said "lost your appetite".

> "that must be much the same as"

This might be new for you: [http://en.wikipedia.org/wiki/Analogy](http://en.wikipedia.org/wiki/Analogy)

<comment><USER19> >> He said "lost your appetite".

There is little difference there. Stopping eating would be a natural consequence of losing your appetite.

>> This might be new for you: [http://en.wikipedia.org/wiki/Analogy](http://en.wikipedia.org/wiki/Analogy)

Except that both you and he say in principle it is the same as what Eichmann did, and I disagree, vehemently, because it's ridiculous to compare the actions of Eichmann to whether or not someone loses their appetite when they hear of hunger in the world.

One is deliberate genocide, the other is an arbitrary demand that you lose your appetite in sympathy.

\--edit-- What I do find offensive is your childish posting of links to the wikipedia page on analogies.

<comment><USER5> > There is little difference there, stopping eating would be a natural > consequence of losing your appetite.

No, it is the difference between eating with joy and eating because you're hungry, and also the difference between getting the point and completely missing it.

> it's ridiculous to compare the actions of Eichmann to whether or not someone > loses their appetite when they hear of hunger in the world

Are you even familiar with Eichmann? Your statements ("deliberate Genocide") make it clear you're simply not getting the point Fromm is making. Eichmann "just" followed his orders, he lacked empathy, but he didn't so much care about genocide as about being a good bureaucrat. To go from "Eichmann" to "Nazi" and from there to any aspect of the Nazis _you_ equate them with, instead of going by what _Fromm_ means in context, is such a waste of time. You're offended over your own strawman.

If you heat something by 0.5 degrees celsius, or 500000000 degrees, is the same, "in principle". Of course, one is hardly noticeable, while the other explodes the solar system or something... that's why analogies are hard to follow sometimes. If there _wasn 't_ something you could point to and claim "Preposterous! There is a difference!", there would be no way to make an analogy in the first place.

> What I do find offensive is your childish posting of links to the wikipedia > page on analogies.

Childish? You said he said it's "the same", so I felt it was warranted.

<comment><USER19> >> _No, it is the difference between eating with joy and eating because you 're hungry, and also the difference between getting the point and completely missing it._

So whether you eat on with no appetite or stop eating is the difference between whether you're as bad as a genocidal nazi or not?

The distinction is trivial and beside the point.

>> _Are you even familiar with Eichmann? Your statements ( "deliberate Genocide") make it clear you're simply not getting the point Fromm is making. Eichmann "just" followed his orders, he lacked empathy, but he didn't so much care about genocide as about being a good bureaucrat. To go from "Eichmann" to "Nazi" and from there to any aspect of the Nazis you equate them with, instead of going by what Fromm means in context, is such a waste of time. You're offended over your own strawman._

Eichmann was directly involved in shipping tens or hundreds of thousands of Jewish people to Auschwitz. I'm not sure what's not Nazi or genocidal about that. Either way I didn't say I was offended, I said the comparison was hyperbolic to the point of the ridiculous.

>> _If you heat something by 0.5 degrees celsius, or 500000000 degrees, is the same, "in principle"._

You have not demonstrated that keeping your appetite and committing genocide start from the same principle, which you would need to do for your analogy to hold here. It's not a simple matter of degree. The first is a demand that someone show empathy in a specific way, which may or may not hold for all people. The second is one of the worst crimes against humanity we can think of. There is a difference in nature, motivation and scale here, not simply scale.

>> _Of course, one is hardly noticeable, while the other explodes the solar system or something... that 's why analogies are hard to follow sometimes._

The analogy isn't hard to follow, it's nonsense.

>> _If there wasn 't something you could point to and claim "Preposterous! There is a difference!", there would be no way to make an analogy in the first place._

But I can point to all parts of it, and say none of it is anything like what you're trying to compare it to.

>> _Childish? You said he said it 's "the same", so I felt it was warranted._

No, I said "much the same", not "the same". If we're going to play this game then maybe you should work on your reading comprehension before you decide to be condescending.

<comment><USER5> > Eichmann was directly involved in shipping tens or hundreds of thousands of > Jewish people to Auschwitz. I'm not sure what's not Nazi or genocidal about > that.

He would have shipped tens of hundreds of refugees out of Germany if he had happened to be a bureaucrat for the allies and if that had been his job. But where did I say that's not genocidal or Nazi? I said that's not the point of why Fromm is making the comparison - lack of empathy is. He doesn't mean if we don't loose our appetite when others starve, we grow round glasses and and clothes from the 40s, and many other things. He doesn't mean we will start putting people in box cars. To ridicule my supposed lack of reading comprehension considering this whole string of completely useless attacks on strawmen, is kinda rich.

I don't know if you clicked the link, but he goes on to say:

 _I don 't think, that if we are really in touch with the inner reality of ourselves, that there is any crime, or perhaps any virtue, which we cannot discover in ourselves. We shut ourselves [off] from the awareness of our inner reality, we project the evil to our opponents and enemies, and believe that the good is in ourselves; indidivually, nationally, and group-wise in general._

Your reaction that Eichmann is completely beyond the pale of any comparison is kinda fitting.

> It's not a simple matter of degree. The first is a demand that someone show > empathy in a specific way, which may or may not hold for all people. The > second is one of the worst crimes against humanity we can think of.

The second is _also_ "not showing empathy in a specific way". And no, I do not want to play games.

> There is a difference in nature, motivation and scale here, not simply > scale.

I acknowledged that before. But that doesn't change the fact that it consists of many aspects, one of them lack of empathy.

<comment><USER19> >> _He would have shipped tens of hundreds of refugees out of Germany if he had happened to be a bureaucrat for the allies and if that had been his job._

1\. So he said. Others thought differently - "When considering the sentence, the judges concluded that he had not merely been following orders, but believed in the Nazi cause wholeheartedly and had been a key perpetrator of the genocide."

2\. Somewhat irrelevant. He committed genocide, if he hadn't had the opportunity he may not have done. So what?

>> _But where did I say that 's not genocidal or Nazi?_

>> _" Your statements ("deliberate Genocide") make it clear you're simply not getting the point Fromm is making."_ >> _" To go from "Eichmann" to "Nazi" and from there to any aspect of the Nazis you equate them with, instead of going by what Fromm means in context, is such a waste of time."_

You're saying it's not right to say he was a Nazi, and not right to go from there to calling him genocidal simply because of that. I'm not calling him genocidal because of that, I'm doing it because of his actions.

And to be very clear, I understand entirely the point Fromm is making (lack of empathy is the root of Eichmann's actions and if you don't lose your appetite when reading about hunger you lack empathy, this puts you on the same spectrum as Eichmann). I understand and I disagree, vehemently.

To really hammer this home, your very first post about Fromm quoted - "As soon as you have not lost your appetite, when you knew other people were starving, then your heart has hardened, and in principle, you have done the same which Eichmann did." Eichmann organised and supervised genocide. This is not simple lack of empathy, and neither does keeping your appetite demonstrate a total lack of empathy. The argument is wrong at both ends.

>> _I said that 's not the point of why Fromm is making the comparison - <USER2> of empathy is._

And if you think lack of empathy was all Eichmann had going then you're pretty delusional, IMHO.

>> _He doesn 't mean if we don't loose our appetite when others starve, we grow round glasses and and clothes from the 40s, and many other things. He doesn't mean we will start putting people in box cars._

Then why make the comparison? It's hyperbolic in the extreme and basically a Godwin violation.

>> _To ridicule my supposed lack of reading comprehension considering this whole string of completely useless attacks on strawmen, is kinda rich._

You misread something and childishly posted a link to the definition of analogy as if I might never have heard of it. I'm sorry I shot back at you, I hope you didn't find it too offensive.

>> _Your reaction that Eichmann is completely beyond the pale of any comparison is kinda fitting._

No, not really. Eichmann's crime is substantially different from a simple lack of empathy, as I've said many times now, he was actively involved in some of the worst evil we know of. It may well be that many/all people are capable of this level of evil. However that still doesn't mean that failing to respond in a simplistic, set way to an empathic situation is anything like organising the deaths of hundreds of thousands of jewish people. It's not the same principle, it's not the same root to the action, and I fundamentally disagree that a lack of empathy and a set of orders was the driver behind Eichmann's actions. And yes, I am familiar with Milgram.

>> _The second is also "not showing empathy in a specific way". And no, I do not want to play games._

It's a lot more than that.

>> _I acknowledged that before. But that doesn 't change the fact that it consists of many aspects, one of them lack of empathy._

But if that's only one aspect, the analogy is about as useful as saying "You know who else had a moustache like that?" as happens on fark.com, except here you seem to want to be taken seriously whereas over there everyone knows it's a joke.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER20> The fact that the landing page immediately suggests going vegan is a turn-off for me.

I'm all for the humane treatment of animals, and I'll gladly pay several times more for my meat and eat considerably less off it. In fact I think most of the mass meat production methods should be completely outlawed.

However, I'm not going to sit through another manipulative propaganda film from the anti-meat lobby. I'm happy being an omnivore, thankyouverymuch, and I have no problem with animals being killed for food or clothing.

<comment><USER21> >However, I'm not going to sit through another manipulative propaganda film from the anti-meat lobby.

Yes, the billion dollar tofu-industry has created this propaganda film.

>I'm happy being an omnivore, thankyouverymuch, and I have no problem with animals being killed for food or clothing.

Is your argument that you don't want to watch a movie because you don't agree with it before hand? I recommend you to reconsider the function of documentary films.

</comment></comment><comment><USER22> This is one of the most profound, consciousness-altering films I've seen. I'm not vegan. It's one of those films that anyone who aspires to be truly rational ought to watch.

</comment><comment><USER23> I found the doco Blackfish to be pretty thought provoking, its about the keeping of animals in captivity. [http://en.wikipedia.org/wiki/Blackfish_(film)](http://en.wikipedia.org/wiki/Blackfish_\(film\))</comment>


Wt, C++ Web Toolkit - <AUTHOR> http://www.webtoolkit.eu/wt <comment><USER2> I tried the WSound demo at the exact same time my UPS lost power and started beeping. I nearly spit my drink out! How did they do that?! Then reality settled back in and I thought myself an idiot.

</comment><comment><USER3> Only one vote after an hour? Is it the C++ devs that don't like web development or the web devs that don't like C++?

<comment><USER4> Maybe there just isn't anything particularly interesting about this framework. I looked at it and it doesn't seem to offer anything that other frameworks don't except possibly ease of deployment on embedded systems, but on an embedded system it might be better to just not use a framework at all.</comment></comment>


Understanding Telephones (1985) - <AUTHOR> http://readtext.org/hamradio/understanding-telephones/ <comment><USER2> This appears to be copied from[http://textfiles.com/hamradio/how_phon.wor](http://textfiles.com/hamradio/how_phon.wor) with some ads stuck on. Maybe the link should be changed to the original.

<comment><USER3> readtext is a more friendly interface to textfiles.

</comment></comment><comment><USER3> Thank you for posting all these old textfiles lately. They make me smile.

<comment><AUTHOR> You're welcome :-) There is more @ [https://news.ycombinator.com/from?site=readtext.org](https://news.ycombinator.com/from?site=readtext.org)</comment></comment>


I am a mathematician and ... - <AUTHOR> http://spikedmath.com/389.html

<comment><USER2> This belongs on reddit.

<comment><AUTHOR> Do you really think so? You don't think this speaks at all to the situation of half the people here? Or more?

This is a real issue for many people here. I work hard to appreciate the things my wife is interested in, and fortunately she appreciates the efforts I make. She, in turn, works hard to appreciate what I do, and I help her as best I can to see the fun and (on occasion) beauty in that.

But not everyone is as lucky as I, and I think this is a great way to make the point.

I hope you're as lucky as I am, and if not, I hope this actually has a message that you haven't bothered to see yet.

But if not, sorry to have wasted your time.

<comment><USER3> The cartoon was not very well done and lacked any warmth or subtlety. I would've preferred an essay on the subject, since it does seem as though there is some great rift in the understanding of the Arts and the Sciences by HN users (judging by some of the comments in this thread <http://news.ycombinator.com/item?id=2241638>)

</comment></comment></comment><comment><USER4> I beg to differ.

<http://tauday.com/></comment>


If you fast charge, Tesla will permanently throttle charging - <AUTHOR> https://teslamotorsclub.com/tmc/threads/if-you-fast-charge-tesla-will-permanently-throttle-charging.90230/ <comment><USER2> Reading only the beginning and last couple pages, and not being a Tesla owner:

* Superchargers/DC charging bypasses the internal battery control systems (in part?) and goes direct to the cells.

* going direct may approach or pass the charge rates at which cell degradation occurs

* people charging like this most of all of the time are seeing declines in charge rate possibly as much as 25%

* Tesla hasn't made this clear up front, possibly.

Edit: autocorrect</comment>


Using Python to Analyze 60 Million US Police Stops - <AUTHOR> https://blog.patricktriest.com/police-data-python/ <comment><USER2> Great analysis.

I would love to see some of this normalized to other variables like income, education, occupation, etc. That way you could get at any bias without any doubt cast by other factors.</comment>


Ask HN: Any developers interested in working on something new? - <AUTHOR> I'm an early stage UI/UX designer for Whatsapp and Instacart. Every year I work on 2 startups either personal or as an advisor, I'm looking to start a new project with a interested developer. Someone who is the true definition of a Hacker. I like the Hacker/Hustler/Hipster founders combo. I am open to different ideas and suggestions.<p>I'm really interested in SaaS or Life Automation. If you are interested please reach out I'd love to connect. <comment><USER2> hey! i don't know if i can help you out with that but i am interested in following your project, is there any way to connect outside of this specifically?</comment>


Ask HN: Which tools do you use to optimize your webapps? - <AUTHOR>

I'm trying to always keep size of images I publish on the web at a minimum. I have been using the smush.it service a lot, but after Y! took over the service, it hasn't been working too well -- for example I can't smush images stored locally any more.
Also, minifying and merging JS and CSS is a good trick to keep loading times down.
Now I'm interested to know -- which webapps, tools or tricks do you use to optimize your web content? <comment><USER2> 1) The YSlow presentations.

2) YSlow itself.

3) Cheating creatively. For example, the front page of Bingo Card Creator has one middle-weight screenshot on it, which links to a hefty full-sized version in a lightbox which accompanies some text exhorting users to download or sign up now. I want opening that Lightbox to be faster than instant, but the screenshot is huge. So I cheat: by the simple expedient of placing  somewhere visible on the front page, everybody who hits it will start loading the image more or less immediately. Then, when they trigger the lightbox (some seconds later), the image displayed in it () doesn't come from my server at all, it comes straight from their browser cache, and renders almost instantly.

Related trick: I load the critical assets for my purchasing page on every page on the site. Thus, someone accessing the purchasing page (which I have clear reason$ to want to be fast) will almost always see it stupidly fast, despite it having a fair bit of Javascript and whatnot to render the cart.

I also abuse the browser cache for "live" previews in my web app. Switching an image's source to an image which is not downloaded is a bad idea, because it typically causes both a delay and unsightly flicker. So instead of switching the source of the image directly, you switch the source of a hidden image, then use a Javascript onload callback to switch the visible image to the source of the hidden image when the hidden image finishes loading.

<comment><USER3> For YSlow users, a buddy of mine (actually, he's kind of a jerk) is working on an interesting project that lets you run automated YSlow tests (using Django and firefox and various other wizardry things)

<https://wiki.mozilla.org/Webdev:Cesium>

/shameless plug :)

</comment></comment><comment><USER4> \- Host your CSS, JS and images on a CDN \-- Serve them from a different domain. Otherwise every element request requires cookies to be sent in the headers. Waste of overhead for end users.

\- Combine as many JS and CSS files as possible. You will also want to compress them.

\- Use memcached to cache backend elements to speed up pageloads and hit the database less.

\- If you arent using a CDN, at least use a reverse proxy so you don't create unnecessary overhead for your webserver.

\- Get a profiler for your app. See what areas are slower then others. Find a database profiler and fix queries that are slow. If your using MySQL use the slow query log to see where there are hold ups.

\- Make sure you have the proper indexes on your database. Over doing it can waste memory.

\- Try and use gzip if possible. Most browsers support it and it can have a noticeable speed increase.

<comment><USER5> * - Host your CSS, JS and images on a CDN -- Serve them from a different domain. Otherwise every element request requires cookies to be sent in the headers. Waste of overhead for end users.*

One thing that you have to worry about here is serving these files through <https://>. A lot of CDNs either (a) don't support <https://> or (b) charge a monster fee for it.

</comment></comment><comment><USER6> A little trick from FLOSS Podcast's session with John Resig: instead of serving jQuery from your domain, use the Google hosted one: [http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.j...](http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js) \- you get to benefit from Google's CDN, and there's a fair chance it's already cached in the user's browser.

<comment><USER7> Another way to help Google track the websites you are visiting and forcing your users to do so too. CDN are great, but please take into consideration the privacy issues when using the ones provided "for free" by the big players.

</comment></comment><comment><USER8> Since the YSlow recommendations and practices are almost universally used, wouldn't it be possible to automate the process? Could someone write a servlet filter that incorporated the optimization rules and automatically applied them to outgoing content on the fly? And you could make this an Apache module so that it could sit at the web server layer instead of at the container layer.

This would also address issues that arise when you're using a product or framework that assembles the page dynamically, and you're not in control of how the css links are constructed.

<comment><AUTHOR> Yes -- this is exactly the kind of thing I'm looking for! A nice batch process that takes care of everything when I publish my static content. Shouldn't be too hard to make something like that, my problem is finding the right tools (pngcrush, JS minifier, JPEG EXIF stripper etc) and the proper settings to use for each and every one of them. It's a jungle.

</comment></comment><comment><USER9> I've found YSlow very useful in identifying problems.

My lazy, three-step optimization process:

1\. turn on gzip encoding in apache

2\. verify that caching headers (Etag/last-modified) are being set

3\. tail -f mysql-slow.log

</comment><comment><USER10> I do the following:

1\. Use a python profiler and look for problems, which usually means rewriting db calls to tradeoff storage space vs CPU time and/or front loading tasks so they're heavier on write than read

2\. Write memcache layers wherever possible

3\. Optipng or cut the backgrounds out of gifs

4\. Clean up redundant css / js

5\. Minify

6\. I set really long modified headers, but use a version number that I can increment in my statics files' query strings

</comment><comment><USER11> * in Photoshop - "save for web" and let it figure out what it thinks is optimal

* YSlow for Firebug to see if anything is really loading slowly / being gross

* Like you mentioned, YUI Compressor to minify/compress CSS and JS

* We use Symfony so the Symfony dev toolbar to profile slow SQL queries and generally see what is causing pages to render slowly.

* Lately, Firebug's NET panel to monitor what requests are taking the most time.

</comment><comment><USER12> Google Page Speed is also worth a look. It will point out problem areas and recommend best practices to speed them up.

</comment><comment><USER13> For images, I haven't found a better solution than to fire up Photoshop and do batch process on all the images and save for web. The quality looks the same, and the images are WAY smaller.

I've used pngcrush before, but just for png's, and it didn't come close to what Photoshop was giving me as a result.

Photoshop does cost ~$700, but if you already have it, definitely give it a whirl.

</comment><comment><USER14> WebPageTest.org is pretty good - almost YSlow/Firebug-like, but hosted.</comment>


The average web page is 3MB. How much should we care? - <AUTHOR> https://speedcurve.com/blog/web-performance-page-bloat/ <comment><USER2> I built a web app recently in react, nothing too complicated just basic CRUD stuff, when compiled with webpack ended up being about 4mb. I'm guessing that's because of the libraries I included but I haven't really had time to investigate.

Are there any tools to help with this?

<comment><USER3> Hey, There are a bunch of ways to find out what makes up a webpack bundle (and by looking at that you might be able to find code which is not used by your app or which could be replaced by a smaller dependency). Basically, webpack can give you the stats via:

webpack --profile --json > webpack-stats.json

Based on that, other tools can help you analyse the bundle, ie: [https://webpack.github.io/analyse/](https://webpack.github.io/analyse/)

Have a look at this post explaining the details: [https://medium.com/@joeclever/three-simple-ways-to- inspect-a...](https://medium.com/@joeclever/three-simple-ways-to-inspect-a- webpack-bundle-7f6a8fe7195d)

<comment><USER2> Awesome, thanks mate :)</comment></comment></comment>


Russian spies busted by Netherlands 'left behind evidence of many operations' - <AUTHOR> https://www.zdnet.com/article/russian-cyber-spies-busted-by-netherlands-left-behind-evidence-of-many-operations/ <comment><USER2> The Cold War is really back on again, except Russia is a little less isolated these days than they were during Soviet times. Hopefully it says cold too.</comment>