How web browsers resize images - <AUTHOR> http://entropymine.com/resamplescope/notes/browsers/ <comment><USER3> Firefox uses the same high-quality scaler for upscaling now too, starting in Firefox 22: [http://bugzil.la/795376](http://bugzil.la/795376) (The results on this page were from Firefox 7 and Firefox 20.)

The problem with scaling multiple copies of the same image on a single page is [http://bugzil.la/795072](http://bugzil.la/795072)

</comment><comment><USER4> For some reason resampling artifacts are highly visible to me. Like minor distortion and color inaccuracy, some people see it, some people don't, some people care, some people don't.

I used to tell all the authors at techcrunch to resize before uploading, because our theme just loaded the original image and let the browser resize it. Of course this occasionally led to 2-megabyte, 1000px PNGs being rendered at 215px wide, with awful resampling errors making text look awful and taking ages to load besides. No one listened, the fools!

These days it seems like there are few situations that demand a "cheaper" resampling method than bilinear. The calculation cost and time are so minor and assets so malleable that it can't possibly end up the bottleneck - <USER2> when you have ten or twenty widgets, scripts, and trackers loading as well.

It always seemed strange to me, however, that the resampling of images is browser dependent. I guess callouts to the GPU are a bit much when all you need to do is recalculate a bitmap.

<comment><USER5> > The calculation cost and time are so minor and assets so malleable that it > can't possibly end up the bottleneck - not when you have ten or twenty > widgets, scripts, and trackers loading as well.

No, it can be the bottleneck.

[http://mobile.lesoir.be](http://mobile.lesoir.be) with its 3000x3000 pixels images for a mobile website can make my firefox really sluggish on my notebook.

As far as I can remember there always have been rendering problems with displaying downsized large images on an html page (notwithstanding the bandwidth waste).

<comment><USER5> I can't edit. I would like to add:

it's not as much a problem of displaying large images than displaying large images in <img> with smaller width and height.

Interestingly the aforementioned website works like a charm with opera mini running on my feature phone.

<comment><USER6> Opera Mini does the downscaling on Opera's server farm, so your feature phone only gets pictures the exact size of your phone's screen.

<comment><USER5> I know. I wanted to point out that an inexpensive device experience is better than my full-blown computer* experience.

* I know it's an old computer now but it should be able to display pictures on website whatever the scenario.

</comment></comment></comment></comment></comment><comment><USER7> Too bad incorrect gamma is still a problem when resizing in browsers.

[http://filmicgames.com/archives/354](http://filmicgames.com/archives/354)

</comment><comment><USER8> Can someone shed a little light on what these graphs represent? I'm assuming it's some sort of weighting function, but the article has zero explanation of what we're looking at - the axes aren't even labelled.

<comment><USER9> Another article on the site (linked elsewhere in this discussion) does a pretty good job of explaining the graphs: [http://entropymine.com/imageworsener/resample/](http://entropymine.com/imageworsener/resample/)

Basically: The X axis is distance in pixels and Y is the weight for the weighted average of the surrounding pixels according to their distance from the point being sampled.

</comment></comment><comment><USER10> Given that most of these browsers are open-source, isn't this a somewhat circuitous way of going about the investigation?

<comment><USER11> If you've already got the tool to check it out empirically that's going to be a lot easier than digging through hundreds of thousands of lines of code that you aren't familiar with.

Since it seems he wrote his resampleScope tool back in 2011, it makes sense he went this way.

<comment><USER12> Also it would have been much harder to see the firefox bug with a code inspection.

</comment></comment></comment><comment><USER13> Any information on whether the different browsers use gamma-correct resizing?

<comment><USER14> I read this Eric's article "Gamma error in picture scaling" 6 years ago. Sadly, FireFox still sucks... [http://www.4p8.com/eric.brasseur/gamma.htm](http://www.4p8.com/eric.brasseur/gamma.htm)

<comment><USER15> Fixed url, needs the html extension: [http://www.4p8.com/eric.brasseur/gamma.html](http://www.4p8.com/eric.brasseur/gamma.html)

</comment></comment></comment><comment><USER16> The change to linear resampling in IE9 makes me wonder if that wasn't simply a bit of benchmark manipulation. If so, it goes to show the danger of relying to heavily on simple benchmarks.

<comment><USER17> It might also have something to do with their focus on hardware acceleration. Switching to D3D using bilinear scaling. Possibly also switching their software fallback implementation to match.

<comment><USER16> But you can do hardware accelerated lanczos pretty trivially with a shader consisting of maybe 10 lines.

<comment><USER18> I know nothing about graphics or hardware acceleration, could you link me to an example? Sounds interesting.

<comment><USER15> Try this: [http://stackoverflow.com/questions/14366672/](http://stackoverflow.com/questions/14366672/)

</comment></comment></comment></comment></comment><comment><USER19> Bit more along the same lines: [http://entropymine.com/imageworsener/resample/](http://entropymine.com/imageworsener/resample/)

</comment><comment><USER20> Chrome also uses some kind of sharpening filter for upscaling (on _every_ image) if running on a HiDPI system, such as a Macbook Retina.

I'm not sure what filter that might be, but it sure looks good.

<comment><USER6> I'd be interesting in knowing what it is, because it does look way better than whatever Safari does.

</comment></comment><comment><USER21> Some time ago I did a test for mobile screens. I used 64 color images at 2 times the size they had to be (for high-res displays).

High-res devices don't scale those images, but because the pixels are so small 64 color images are still looking good.

Related to this post: small displays will downscale the image to 50%. I noticed that most modern browsers use a nice reduction algorithm so the interpolation of 64 colors is also looking good.

</comment><comment><USER22> I have found no mobile browser (except the native Android one on my older device) that will "easily" show one pixel of an image at one pixel of display. You pinch through this state but but not arrive at it unless you go to great trouble.

<comment><USER22> correction — Opera Mobile Classic does — if the image is smaller than the display.

</comment></comment><comment><USER23> If you're going to put so many charts on the page, you might want to start with basic things like marking the axes. I have no idea what I'm looking at.</comment>


How I introduced a 27-year-old computer to the web - <AUTHOR> http://www.keacher.com/1216/how-i-introduced-a-27-year-old-computer-to-the-web/ <comment><USER2> >The MacWeb developers apparently took a look at the HTTP 1.0 spec, decided, "Who would ever need name-based virtual hosting?" and left out the feature that 99% of the sites on the modern web relied on.

Of course they did, it's not in HTTP/1.0, it's in HTTP/1.1.

<comment><USER3> Hehe, that lept out at me as well. I guess we're old.

<comment><USER2> I'm not old, I'm 17!

However, I recently had to implement a minimal HTTP client. I assumed Host: was in HTTP/1.0, but unfortunately it wasn't and I had to implement the minimal portion of HTTP/1.1 required for compliance.

<comment><USER3> Keep up the good work then :) At your age I spent my time reading _TCP /IP Illustrated Volume 1: The Protocols_ and discovering unpublished operating system detection mechanisms in ARP and ICMP, putting them online and running home from school to see which governments' agencies had visited my website that day. They didn't bother hiding their tracks very much in those days.

</comment></comment></comment></comment><comment><USER4> This is just wonderful. About three and a half years ago I booted the first real computer from my childhood as well: a Commodore Amiga 500. I had one mission and that was to clone the hard drive so that I could get all the stuff off of it before time had its way with the bits (there are excellent Amiga emulators that can actually run old OS). Not having any experience soldering, I would have been crushed if I had experienced the failure of a capacitor. Fortunately, fate was kind to me.

In that experience I learned how incredibly difficult it is to get things on and off of computers this old. Even though I lived through all the advances, my mind has a much rosier picture of the capabilities of old hardware than is actually true. Similar to this author, I had to rely on serial connections and some utilities developed by the Amiga emulation community running in Windows on an old PC to actually get it to work. And boy was it slow to move data. It took something like 48 hours to move about 80 megabytes of data. I was worried that was too long for such a machine to be running, but it held out. One of the partitions did have a tiny bit of corruption, but I was overall surprised to find most of the data intact.

Sadly, my shoebox full of disks is probably never to be recovered. Both floppy drives seem to be failing and reading Amiga floppies on modern hardware is possible, but an expensive pain.

<comment><USER5> Because of the inability of most modern PC floppy drives to read Amiga disks (since Amiga floppies use sectors outside of the appropriate "readable" range for PC disks, IIRC), it can be hard to convert Amiga disks to ROMs.

However, in ~2000 there was a mechanism discovered whereby you can take two PC 3.5" floppy drives and get a ROM from an Amiga disk. The way it worked is you have one PC disk that will be destroyed, and you instruct the floppy controller to do a low-level floppy-to-floppy copy operation from the Amiga disk to the (burner) PC disk. The CPU will listen in on the copy and get the full Amiga disk image, while the PC disk gets overwritten with junk.

I used this mechanism and saved all my old Amiga files, and happily play many of my old games (awesome retro demo-scene crackers/trainers included! yea!) using the UAE emulator to this day.

<comment><USER6> > The way it worked is you have one PC disk that will be destroyed

I think "sacrificed" is more appropriate here.

</comment></comment></comment><comment><USER7> Nice! But this machine is a supercomputer compared to a C64.

Web server running on C64: [http://www.c64web.com/](http://www.c64web.com/)

OS with TCP stack running on C64: [http://en.wikipedia.org/wiki/Contiki](http://en.wikipedia.org/wiki/Contiki)

<comment><USER8> How many of us does it take to slashdot a C64 web server? Two?

<comment><USER9> Don't know, it loads for me.

People often forget that it's not the power of hardware that matters, but the power of hardware divided by the crap the software makes it do.

<comment><USER10> It's broken now :)

</comment></comment></comment></comment><comment><USER11> Mac Plus has a CPU limited line speed of ~19 kilobits/sec? That's pretty amazing.

My first was a Kaypro II with 64kb of RAM, 191kB floppy drive, and a 2.5MHz Z80. I just looked up some videos of them running and the memories came flooding back. Good times.

Just imagine what computing power we'll have in another couple of decades and how silly what we have right now will seem.

<comment><USER12> I remember being absolutely devastated when the U.S. Robotics 28.8k modem I purchased was too fast for the 9.6kb/sec speed the 8250 UART on my 386sx. I had to sell it to somebody else and find an expensive internal model with its own UART. I think later they started selling internal modems without UARTS that just used the CPU to do the work, I wouldn't be surprised if that was the case here.

<comment><USER13> Why didn't you just get a new serial board with the 16550A UART?

<comment><USER12> It's been, many years...IIR the serial port was built into the motherboard.

<comment><USER14> He's saying get an _extra_ serial board (put it into an ISA slot) that has the 16550 on it. Back then, this was a common way to get around what you're talking about.

<comment><USER15> Yes, he needs to go back in time and commit nerd seppuku. This is intolerable.

</comment></comment></comment></comment></comment></comment><comment><USER16> This post brought back great memories of connecting my Amiga to the net ~1991. The greatest triumph at the time was FTPing synth patches for my Yamaha DX7 from a server in Texas to my unix account at UWA, downloading it to the Amiga via zmodem as the author did, then uploading via the second serial port to the DX7 with a serial to din (MIDI) cable made with 2 sockets, 2 wires and a resistor. I couldn't really believe it when it all worked.

<comment><USER17> I bet it was still easier than programming the DX7 by hand though.

</comment></comment><comment><USER18> This server is running in a real 80286 ! : [http://www.mundoviejuno.com/](http://www.mundoviejuno.com/) Do a "cd info" and "type faq.txt"

Also, there is more older machine connected to internet that these MAC : [http://www.youtube.com/watch?v=-ECnN7jdgA4](http://www.youtube.com/watch?v=-ECnN7jdgA4)

<comment><USER19> Hmm when I opened this thread I didn't expect to be playing Pong on a 286 over the internet.. but here I am

<comment><USER7> The pong game does not look like anything a 286 could do. You have never used a 286 in real life, have you?

<comment><USER20> I've seen ~6 people using serial terminals to a "server" running Xenix on a 286 with SQL database applications - this was in late '88.

My mouse probably has more computing power now.... :-)

</comment></comment></comment></comment><comment><USER21> Love it, nice work. Had a bit of a chuckle when thinking of the site owners who see "Mac Plus, 1986" turn up on their user-agents log. Still renders better than IE6 though

</comment><comment><USER22> Excellent work :)

I created a network card for my MSX computer a year ago; it has less than half the cpu speed of this Plus. I really like working on that machine; adding hardware, writing bits of software. I said it before, but it's like a Bonzai tree. Because it's not really _possible_ to do something commercial on it anymore, unlike on anything modern, my brain stops thinking commercially and that's a good feeling which I don't seem to have when touching any modern computer/board. Using the latter I always get business ideas and then it suddenly went from playing to work. Which is not bad because I like that, but sometimes I want to just play.

</comment><comment><USER23> > _Did I mention it was slow? It was slow. Soooo sloooow. Slow slow slow. > Like, minutes to read and render a page slow._

This. People wax nostalgically all the time how fast running Star Writer or something was back in the day, and how "bloated" modern OSs have become, without understanding that those old PCs did 1/1000 of the things modern computers do, and even those simple stuff (running a text processor) was slow compared to today's standards...

<comment><USER24> It depends. For instance, Borland's Turbo Pascal with its one-pass compiler was pretty damn fast. Its edit/compile/run cycle was amazing (an "ECRL" as fast as a REPL). And this with 64KB RAM.

Whereas some of today's IDEs and language-layered-on-a-VM experiences aren't nearly so fast. Granted they're working much harder. But the end-user experience is not always faster these days.

<comment><USER23> > _It depends. For instance, Borland 's Turbo Pascal with its one-pass > compiler was pretty damn fast. Its edit/compile/run cycle was amazing (an > "ECRL" as fast as a REPL). And this with 64KB RAM._

Still, not comparable. That means that TP had to work on the memory, and not touch disk (else it wouldn't be speedy at all).

Which probably means that the libraries available would be miniscule. A decent graphics (or even math) lib can be well over 1MB. Did you got much out of that era TP besides the ability to use the core language structures?

<comment><USER24> Yep, particularly since touching the disk meant a 5-1/4" floppy diskette.

But no, the programs weren't toys. They were an order of magnitude more complex than most of today's smart phone apps. And in fact, PCs were the smart phones of their day -- a fun size version of what had been considered "real" computing, initially not taken seriously, but destined to evolve quickly.

Also you had direct access to the hardware -- there weren't ten layers of virtualization, protection, and APIs in between. You could do near-realtime things, very low latency. I think that's part of what contributed to the subjective experience being quite fast... provided you didn't need to hit the floppy disk!

</comment></comment></comment></comment><comment><USER25> A couple of years ago jwz did something similar, getting the original Mosaic browser to talk to the modern internet: [http://www.jwz.org/blog/2008/03/happy-run-some-old-web- brows...](http://www.jwz.org/blog/2008/03/happy-run-some-old-web-browsers- day/)

Here as well, a proxy was used to get around the Host Header problem.

</comment><comment><USER26> That Mac Plus is decked out. 4MB RAM, external hard drive, System 7. Jealous!

<comment><USER27> When I bought mine similarly decked out (with a GCC PLP printer) the computer sales guy asked me "What are you doing with that much RAM? CAD for NASA?"

We kept it for 9 years but it developed a quirk where the monitor wouldn't turn on. The only way to make it light up was to grab the Mac Plus and squeeze it, so everyone used to joke that my Apple computer was lonely and needed a hug.

<comment><USER28> Ah, I used to work as at a place that used a load of old PCs for training. Often some would refuse to boot. The solution was a sharp slap on the side of the case. I guess these PCs knew they were naughty.... ;)

</comment></comment></comment><comment><USER29> It actually has a lot more processing power than the minimum required to "connect to the Internet" \- TCP/IP and web servers have been implemented on microcontrollers with KBs of RAM. Parsing and rendering HTML, however, does need more than that...

...or maybe not, as this C64 web browser(!) shows: [http://csdb.dk/release/?id=30400](http://csdb.dk/release/?id=30400)

<comment><USER30> Here's a small TCP/IP stack. ([http://tuxgraphics.org/electronics/200905/embedded-tcp-ip- st...](http://tuxgraphics.org/electronics/200905/embedded-tcp-ip-stack.shtml))

And here's a press release about a tiny web server, with a small stack. [http://www.eurekalert.org/pub_releases/1999-08/UoMa- Ucsg-100...](http://www.eurekalert.org/pub_releases/1999-08/UoMa- Ucsg-100899.php)

> In terms of technology, the achievement is not only in connecting a small > computer on the Web, but also in the size of the network software that is > running on the chip, according to Shri. The computer consists of an iPic > TCP/IP stack running on 256 bytes of memory, using its own equally tiny > operating system. Despite the small size, the TCP/IP stack is fully > compliant with the requirements of the relevant standards. It is connected > to the Internet through a serial port. Because the machine is a Web-server, > it does not need a keyboard or display, but is operated from another > computer using a Web connection.

</comment></comment><comment><USER31> I know everyone here will tell me to get off their lawn, but I just built a Pentium II computer about 2 months ago. I pulled most of it out of my uncles house when he died about two-ish years ago, and decided that its time to do something with this crap that's lying around. It's not quite the first computer in the house (a Compaq 486[1]), but it runs all the things it could.

[http://theandrewbailey.com/article/119/Project-Twentieth- Cen...](http://theandrewbailey.com/article/119/Project-Twentieth-Century- Planning)

[http://theandrewbailey.com/article/120/Project-Twentieth- Cen...](http://theandrewbailey.com/article/120/Project-Twentieth-Century- Resurrection)

[1] it was (what would now be called) an all-in-one, and it came with some Windows 3.1 thing called TabWorks. And before anyone asks, no, I didn't program on the thing. Not every programmer has programmed since he was in diapers. Also, Windows didn't come with a programming environment back then and search engines sucked ass.

<comment><USER32> A Compaq all-in-one 486 with TabWorks was our family computer when I was a kid. You've evoked some very fond memories. Windows didn't come with a programming environment, but DOS had QBASIC, which is one of the best beginners' programming environments ever made.

That machine had a long lifetime for us. We upgraded the RAM as far as it would go, replaced the HD... even added one of those AMD "586" coprocessors.

<comment><USER31> Cool! After we had it for a year or so, said uncle put Windows 95 on it. Lost the speakerphone app and Lode Runner Online during the process, but gained the late 90s web. I downloaded that Lode Runner from the creators site around 2004[1], and had my first retro computing moment.

It wasn't upgraded (except possibly RAM), and we had it from about 1995/6 until 1999, when my dad got a Pentium 166 that was surplus from an office move.

[1] [http://www.daggert.net/Folio/Programming/Presage/LodeRunner/...](http://www.daggert.net/Folio/Programming/Presage/LodeRunner/Loderunner1.htm)

</comment></comment></comment><comment><USER33> The reason that HN looks okay on it is because HN is laid out with a series of nested tables, just like we did in MacWeb's heyday.

<comment><USER34> Yeah. Hooray for table layouting. I was at first surprised that the browser even understood _tables_ , but it seems MacWeb 2.0 was released in 1996.

</comment></comment><comment><USER35> Nice one! I like the proxy idea, any chance of it showing up on github?

Not as old as this, but I wrote a guide nearly 10 years ago on installing Apache on Apple Unix (OSX is not the first Unix from Apple) on a Quadra[1].

[1] - [http://www.snakeoillabs.com/downloads/aux- guide.pdf](http://www.snakeoillabs.com/downloads/aux-guide.pdf)

<comment><USER36> I helped write the first version of it, which is mostly intact. I've included teuobk's changes.

[https://github.com/tghw/macproxy](https://github.com/tghw/macproxy)

</comment></comment><comment><USER37> I wish my Aunty hadn't thrown out our IBM Pentium PC @ 100mhz, and a whopping at the time 16mb of RAM. Seriously powerful machine for the time. I miss it...

<comment><USER38> Heh. Posts like that make me want to pull a Four Yorkshiremen.

"Sixteen _mega_ bytes? Luxury."

</comment></comment><comment><USER39> Oh great, another browser we need to test on! Thanks A LOT!

</comment><comment><USER40> I must say my Kindle experimental browser loads and renders websites... slower.

</comment><comment><USER41> What useragent string did your browsing generate?

<comment><AUTHOR> To the outside world, it looks like "python-requests/1.2.3", sadly. I should change it to "Mac Plus!!!"

<comment><USER42> The python stack was running on the raspberry pi right? Or did you somehow get that going on the mac plus too?!

</comment></comment></comment><comment><USER43> I'm curious how long it would take that browser to infect the computer with a drive by download? Or if it's just so old and obsolete that not a malware programmer exists in this world to bother exploiting it's holes?

<comment><USER44> Nearly forever. You don't have JavaScript, most malware isn't designed for platforms that old etc...

<comment><USER43> Right, no scripts running means virtually no attack vectors. Perhaps overloading the buffer by downloading a large webpage? But that's about all I can muster.

</comment></comment></comment><comment><USER45> There was a dedicated fanbase for using Apple's System 6 day-to-day as recently as a decade ago or so. There's still a bunch of information up on the web and many of the links to 3rd parties at the bottom still work. [http://www.vintagemacworld.com/sys6net.html](http://www.vintagemacworld.com/sys6net.html)

</comment><comment><USER46> Wow, I'm old: my first real computer was an Amstrad CPC 464. 64kB RAM (some of it used for video), 4MHz 8-bit CPU, built-in cassette player.

I'm still developing for it in my spare time ... [http://vimeo.com/70784619](http://vimeo.com/70784619) (very little progress yet)

</comment><comment><USER47> The site www.lisa2.com is often served from an actual Lisa 2, which was released with the Mac in 1984.

(Edit: Removed a bit about the Amiga being a knockoff, as mobile reading led me to conflate this article with the one about the Amiga emulator.)

</comment><comment><USER48> Cool. But isn't his (Raspberry Pi) ethernet adapter a far more powerful computer than the computer it's adapting ethernet for?

</comment><comment><USER49> This amazing, now I just have to find my moms old Mac...its probably hidden somewhere in her basement!

</comment><comment><USER50> This is wicked cool. Congratulations!

</comment><comment><USER51> Amazing. These screenshots really take me back...

</comment><comment><USER52> congratulations!</comment>


ClusterRunner, Box's distributed test execution project - <AUTHOR> http://www.clusterrunner.com/news/2014/11/06/clusterrunner-0-5-45-released/

<comment><AUTHOR> Hey everyone, one of the authors here. Myself and the rest of the Tools and Frameworks team at Box are available to answer any questions or respond to feedback.

</comment><comment><USER2> Awesome!</comment>


Nvidia's Shield goes open-source - <AUTHOR> http://www.bit-tech.net/news/gaming/2013/08/08/nvidia-shield-source/1?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+bit-tech%2Fnews+%28bit-tech.net+News+Feed%29

<comment><USER2> "...along with binary driver packages"

It's pathetic that anyone can call releasing binary drivers "open-source". Sigh.</comment>


Hell: A Haskell Shell - <AUTHOR> https://github.com/chrisdone/hell

<comment><USER2> It is not a real shell, since it misses basic pipes. It is just a library for renaming system functions to their Bash-like names...

Move on, and look at these:

* [http://hackage.haskell.org/package/Shellac](http://hackage.haskell.org/package/Shellac)

* [http://hackage.haskell.org/package/pipes-shell](http://hackage.haskell.org/package/pipes-shell)

* [http://hackage.haskell.org/package/HSH](http://hackage.haskell.org/package/HSH)

* [http://hackage.haskell.org/package/shellish](http://hackage.haskell.org/package/shellish)

<comment><USER3> How does something this bad end up the top comment? Three out of four links you provided are completely irrelevant. It is not missing pipes. Pipes are a simple composition operator. Haskell already has that, no need to make a special version for this.

<comment><USER4> While it's true that you can't really pipe _programs_ conveniently yet it sure supports composition with all functions as you suggest. Just wanted to note in case that was what the comment above was thinking about. Except that I pretty much agree with you, current top comment is crap.

</comment></comment></comment><comment><USER5> See: [http://www.haskell.org/haskellwiki/Simple_Unix_tools](http://www.haskell.org/haskellwiki/Simple_Unix_tools) & [http://www.haskell.org/ghc/docs/7.6.2/html/libraries/base-4....](http://www.haskell.org/ghc/docs/7.6.2/html/libraries/base-22.214.171.124/src/System- Console-GetOpt.html)

ps: Haskell is such a Gloriously Happy Land, why make it "hell"?

<comment><USER6> Read the page?

<comment><USER5> "Irony" is a side effect. Haskell is pure .. :P

</comment></comment></comment><comment><USER7> There's also scsh, which uses Scheme:

[http://www.scsh.net/](http://www.scsh.net/)

<comment><USER8> Unfortunately, on FreeBSD:

        ===>  scsh-0.6.7 is marked as broken: fails to install on amd64.

And I really wanted to play with it. Seems like I will have to help in Scsh reimplementation in Racket before I can do this.

</comment></comment><comment><USER9> Hell? This could be heaven! For everyone.

<comment><USER10>
        >> ls *.*

Vs.

        >> fmap (filter (isInfixOf ".")) ls'

No sale!

<comment><USER6> Completely fair criticism. Obviously, I don't mean to continue writing such lengthy code on the command-line, but in order to feel out what's good enough, I need the shell. The brevity can come later. E.g. there's no reason

        ls "*.*"

couldn't be defined, e.g.

        ls = run . ("ls " ++)

<comment><USER11> I'd argue that even the double-quotes in `ls " _._ "` are too much for normal usage. There have been many attempts at creating non POSIX-y shells based on various languages, but AFAICT it's a non-starter to require special syntax when running basic command lines. I'm mostly not writing shell scripts, I'm using a command line to interact with the system. As such, I want no barrier to running programs yet a lightweight way to leverage a "real" programming language. Redefining tools like `ls` seems like a red herring as well. I'm not against built-ins (they're necessary), but the Unix toolchain isn't going anywhere anytime soon. You'll still need to pull data out of git, logfiles, munch that data with external tools, etc. As such it's worth thinking about how to best bridge these worlds. If the shell environment can provide a _better_ ls, that's fine, but I suspect it's a design bug if it feels like it needs the built-in for day-to-day usage.

On "feel", it also feels like there should be a seamless syntactic protocol for post-POSIX shells, but I've yet to nail down how it would work. Straw-man requirements:

        - Absolutely no special syntax to run programs
        - Low-drama way to write "real code", i.e. native
          scripting language syntax.
        - Great integration via syntax, shell built-ins for
          working in Unix-y pipeline.
        - Replace powerful yet bizarre bash/zsh parameter
          constructs with better native language tools.

By low-drama, think of the success of Markdown vs. HTML, TeX, etc. for markup. Not as powerful, but much easier to use for its use cases. IMO, _this_ is the most powerful thing about the POSIX shells -- there's zero ceremony around running programs and dealing with I/O redirection. That's also the compromise, as things like quoting semantics get hairy. One way a post-POSIX shell could go is to retain this seamlessness while adding a _touch_ more modality so that the worst problems of POSIX shells are eliminated. For example, multiple- quoting or re-quoting should never be needed, real data structures are both available and the default, etc.

Anyhow, Hell looks like a fun experiment and sandbox. Enjoy!

<comment><USER12> I agree completely. I've been thinking about this a lot, and non-quoted strings strike me as an absolute requirement for anything that aims to replace the bourne shell and its descendants (as opposed to complementing them in the way that Perl/Python/Ruby do it). But obviously it's hard to have non quoted strings in a programming language.

I need to play more with TCL (the one non sh-like language I know that does this) but I think even it has some very strange features that grow out of treating ordinary text as strings.

</comment></comment></comment></comment></comment><comment><USER13> A shell made in a pure functional language... It does not look apealing (the main use of a shell is to create side effects), but I'll sure try it.

<comment><USER14> As others have replied to you, I think you misunderstand what side effects & IO are.

Imagine a "normal" shell type chain:

        ps -ef | grep 'elephant' | sort -nk2 >> logfile.txt

neither `grep`, nor `sort` should have any side effects, and if they do, then you have potential for weird bugs later on. (imagine your / is mounted read only, and sort has a side effect of writing everything to a temp file. now suddenly this otherwise sane looking chain stops working).

In the command, you have a single input, and a single output (which has a specific mode, append). Those are the only IO functions which you've specified, but you have no guarantee that anything else will not make a mess of things.

The dream for "pure functional" shell scripting would be where the side effects are more obvious, and controllable, not to eliminate them.

<comment><USER15> Sort _does_ have the side effect of writing to a temp file, when the input to be sorted is large. :)

</comment></comment></comment><comment><USER16> I think most Unix commands have a function type which is not representable in haskell, if you don't want to fall back to strings everywhere. So you end up with many functions like ls and ls'. For a shell I prefer a dynamically typed language.

<comment><USER15> Typeclasses to the rescue..

        ls :: LsOptions -> IO Listing

        instance ToString Listing where ...

        instance Default LsOptions where def = LsOptions []

Now a single `ls` function can yield regular textual output, or the more specific Listing type can be used if you want to say, map over the files listed.

        toString <$> ls def

        map toUpper . filesListed <$> ls def

The repl can automate the application of toString of course, so the user can just enter `ls def`. Someone better at this than I could probably find a way to make the def parameter be optional, too.

</comment></comment><comment><USER17> It looks more usable than scsh, and I like the name.</comment>


Ask HN: How do you get your code reviewed? - <AUTHOR>

I'd like to do more code review, both as the coder being reviewed and the reviewer looking at code, with the goal being to improve my programming.<p>How do you get your code reviewed? How do you review other people's code? Do you use specific tools/sites/mailing lists/IRC channels/friends? <comment><USER2> At work we use Gerrit, and code has to be reviewed and approved before it gets into origin/master. It's not the prettiest, but it worked well for what we were doing. GitHub also has good reviewing facilities.

If you don't have team members I'm not sure how to get reviewers though...maybe post on HN or a non-proggit subreddit? Or you could just join an open source project.

</comment><comment><USER3> I have a friend that is building a startup that takes your git repo and hooks it up to a gerrit/jenkins layer. So, it automatically runs commits through the unit tests and gives a +1 if you pass all, and requires another +1 from manual review to make it to production.

It's kinda cool, actually. And obviously, if anyone is interested in beta, send me an email (in my profile).

</comment><comment><USER4> I personally have never used it but I saw Barkeep (<http://getbarkeep.org/>) and have it bookmarked as what I want to use on my next project. Barkeep was also featured on HN a little bit back if memory serves.

</comment><comment><USER5> We just review each other's code within teams at my place of work, and sometimes it is even reviewed by people from other teams. It is a mandate any code should go for an honest line by line review by someone else before it goes into production. We get a lot of feedback about code organization, cleanup, improving flow, etc. I just reviewed two small node.js projects in the last week.

</comment><comment><USER6> At work, we use Atlassian's Crucible. It's ok, although it tends to get confused on moderately "interesting" git repositories. That said, you can go quite far just printing out the code and writing comments with a pen.

We do high-security work, so code reviews are a standard part of the development process.

</comment><comment><USER7> Someone recently told me about this service:

<http://codereview.airpair.co/>

Just type in details about your stack and the service suggests different priced experts who can review your code by the hour through screen share.</comment>


Drones that can plant 100k trees a day - <AUTHOR> https://www.weforum.org/agenda/2017/06/drones-plant-100000-trees-a-day?utm_content=buffer6368b&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer <comment><USER2> "It's simple maths. We are chopping down about 15 billion trees a year and planting about 9 billion. So there's a net loss of 6 billion trees a year."

ehhhhhmmmm no. It's not simple math. Or if it is, those are the wrong numbers to pick. Trees can reproduce themselves without human help and there are around 3.04 trillion trees in the world so a lot of potential for these net loss figures to be waaay off.

As far as we know, the number of trees in the world is actually growing. Higher levels of CO2 and the arrival of plastics and aluminium have contributed to reforestation of large areas of the world (we used to make everything out of wood). There are more trees now than there were 100 years ago.

According to the Food and Agriculture Organization (FAO), in the US, forest growth nationally has exceeded harvest since the 1940s. Same goes for Europe. The story might be different in Asia and certain parts of South America but in aggregate numbers I'd bet that we have net growth.

<comment><USER3> Self replicating trees?? This technology needs to be put under regulatory control before we are all turned into trees.

<comment><USER4> I trust Monsanto is on it.

<comment><USER5> We'll use the blockchain to do a rights payment when a tree using our patented DNA grows.

There are also milestone payments: survives for 1 year - a small payment; survives for 2 - another payment...

<comment><USER6> back in the old days, we used to get a ring for each year.

</comment></comment></comment></comment></comment><comment><USER7> Seed pods ain't trees. There's a reason that when forestry companies replant trees, they are planting seedlings that have been cultivated for planting purposes. They aren't just shoving seeds into the ground and hoping for the best.

It's a very good idea to make planting trees cheaper. I've often pondered robotics for tree planting. But will it be as cheap as human labour in terms of stems that make it to maturity? Hand-planted seedlings have a fairly good survival rate and tend to be well spaced, even if the planter is relatively negligent. Typically, the planted trees will need to be thinned later on, because so many survive.

As it stands, it costs a licensee $2-$3 CAD per stem to reforest an area. Typical densities are 1400-1800 stems per hectare. That's actually pretty cheap. Mature trees at harvest are worth thousands.

Source: worked as a tree planter for three seasons, have friends in the forestry sector.

</comment><comment><USER8> Someone needs to explain to the target audience here (politicians, I guess, since this is coming from the WEF?) that "proprietary algorithms" is NOT a good thing. One might argue about if or if not it is necessary, but for the customer, it is always a limitation on what they can do with the product they supposedly bought.

<comment><USER9> Ah! So they're selling a service, not a tool.

<comment><USER10> Let's see 10x faster.

About 1/5th the cost as a person: [http://www.johnswope.com/?p=83](http://www.johnswope.com/?p=83)

And a 20% savings. looks like a 10x margin to me...

</comment></comment></comment><comment><USER11> There was a discussion almost 3 years ago regarding drones, that are able to plant 36K trees per day. There was also a reference to the 1970s planting machines, that are much simple in mechanical design and are able to plant 10-20K trees per hour. [https://news.ycombinator.com/item?id=9444521](https://news.ycombinator.com/item?id=9444521)

</comment><comment><USER12> I see a lot of skeptical comments on here and I suppose that's healthy, but generally I find news items like this encouraging. We need to find more ways like this to use technology to fight deforestation, pollution and the erosion of the natural environment.

<comment><USER13> I agree that it's encouraging to see engineers and scientists focus their efforts on important societal issues. However, we need to find more thoughtful ways to use this technology. A good place to start is trying to deeply understand a context and need, before coming up with a solution. We just ran a workshop in Jordan with engineers who want to develop education technology for refugee learners. On the first day we took our teams to NGOs who are working with refugees and interviewed the learners. As a result most team scrapped their initial ideas. I wish learning to analyse a challenge through the lense of the user was a more integral part of engineering education.

<comment><USER14> What makes you think that these companies didn't go through that process?

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

Also, the usual rule of thumb: "drones". Flying means constantly expending energy to fight against gravity. Unless the particular problem solved _requires_ flying (to e.g. reach otherwise unreachable spots), solutions involving flying machines are almost always bad. And I don't see anything in reforestation that requires flying.

This is doubly important if you're trying to make the world a better place, instead of just making a quick buck. If all you care about is money, you can make it so that someone else pays the energy costs. But if you truly care about doing something good, then you have to factor them in (they almost always involve non-renewable sources and pollution) and ask yourself, if your plan is even a net improvement for the world.

<comment><USER16> I can see two alternatives to flying, sending a person, or a remote- control/autonomous ground based machine. The first one is not as productive, the second one is much more complex, and so more expensive.

<comment><USER17> If cost and fuel are major concerns then sending a person is by far the cheapest option. Not the most productive but in the areas that need reforestation (i.e. where they burn or clear cut, Asia / Amazon) the labour is not that expensive. Though there are a lot of other factors involved.

These kinds of projects remind me of Juicero, where it combines a few things western (middle/upper class?) people care about with technology and expects a great result but end up a middling disappointment.

</comment></comment></comment></comment></comment></comment><comment><USER18> When I was in 8th grade in Oregon. We went to a clear cut site to plant trees. We had to dig a very small hole and put the seedling into it. They had little burlap bags around them with a bit of dirt around the root ball. There was twine tied to keep the bag closed.

The ground we had to walk through was like a world war I trench zone with massive holes, ripped up trees, rocks, pits, it was a mess and hard to climb through. It was fun as a kid. But there was no way you could just throw trees everywhere and have them grow.

That being said, I can see how drones could do this with a tech change in how they are planted. Each drone has a few seedlings, the seedlings are in a pod that is weighted (keep it upright during planting) and self-sustaining (ie, plenty of dirt, water retention polymers, etc..) so they could be set on _top_ of the ground. (maybe some hex-shaped carboard box thing? lol)

Then drones get brought in with a big giant ass truck, you have 1000 drones, they make many multiple trips, recharges. It's possible.

<comment><USER19> The article says "a drone loaded with germinated seeds fires (!) pods into the ground at a rate of one per second". The video makes it look like the drone will just fly over the terrain.

Maybe the pods fall from say 10m and that is enough to get them into the ground (and not kill them)?

<comment><USER18> Well, I missed that part somehow. :P But those are seeds not seedlings, maybe a downside to the change in planting technique from the past. I guess I can see how it would be cheaper/easier to fire seeds all over the place though.

I don't think 10m (or even 100m) would get them into the ground. In my experience, the ground is a lot of rocks, roots and some dirt all in a big mess. Especially where there's been logging. But there's also a lot of upturned dirt, so who knows.

The best way to find out is to give it a shot. Can't be hard to fund a trial run. I bet it cost more to make the 3d video than to actual try it out and record the drone doing the work. :P

<comment><USER20> If these are the same drones I've seen previously, the germinated seed is inside a hard(ish) molded nutrient pod with a pointy end, and the drone fires it into the ground with a compressed air cannon. Which makes me very dubious about the '1 per second' rate of fire - even if it's possible, the weight of the gear + seed pods + gas is going to severely limit how many can be planted before needing to reload and recharge.

<comment><USER17> So realistically you could just throw these seeds from the air using a plane and it would be even more efficient? Modify some sort of sprayer to spray seeds over a large enough area. With enough seeds there should be sufficient trees to survive and grow.

</comment></comment></comment></comment></comment><comment><USER21> > Then the most efficient planting pattern for that area is calculated using > algorithms.

Code and algorithms you say?[0]

[0]: [https://i.redd.it/ytdyqbyzjkky.png](https://i.redd.it/ytdyqbyzjkky.png)

<comment><USER22> When my code crashes, it's usually because I forgot the algorithms

</comment></comment><comment><USER23> 1 per second would only be 86,400 a day... and that assumes zero flying and positioning time, zero loading and reloading time, zero fueling time, and flawless, instant decisions.

<comment><USER24> Assuming the drone is only planting one tree at a time...

<comment><USER23> How many surviving trees do you propose to get out of one seedling pod?

(Hint: their own video says a max of 300 pods every 18 minutes, then reloading and repositioning. And it can only work in daylight.)

<comment><USER24> One. That's why it makes sense to plant several in each pod - tree sapling survival rates aren't 100%. It makes sense to plant _many_ more trees than you expect to grow to maturity.

<comment><USER18> Then I think they are cheating their numbers if they count multiple trees per pod. :P

<comment><USER24> It might not match your expectation that "number of trees planted === number of mature trees" but that's because you're assuming things that they're not saying. You can't reasonably make an incorrect assumption and then claim to be cheated when it's wrong.

<comment><USER18> I was being a bit snarky, but this is common practice. They could easily claim "100k" seeds, but full well knowing that only 10k will actually grow. But saying "we can grow 10k trees" just doesn't sound as impressive. It seems to be marketing numbers.

</comment></comment></comment></comment></comment></comment></comment><comment><USER25> I'm skeptical. Trees already are pretty efficient at making seed pods, what they lack is the ability to fend off predators from eating the seedlings.

<comment><USER26> Many (most?) trees are efficient at making seed, but what they really lack is the ability to get those seeds far enough away that they won't be out-competed for nutrients, water, and light by the parent tree.

Somewhere downhill and relatively nearby is a 'solved problem' for most trees -- but uphill, further afield, with appropriate soil depth for the seed size, in sufficient numbers, with less competition, etc. Aside -- ridges are one of the most useful places to focus reforestation efforts, in no small part because once established there, trees can generally propagate themselves across the rest of the slope.

Fending off predators is a concern, of course, but that's why you go for the large quantity approach when propagating by seed.

The claim these things can 'plant 100,000 trees a day' is clearly hyperbole. What they can do is plant 100,000 seeds a day, presumably at a much higher density than fully grown trees would be able to thrive, on the assumption that a useful number will actually establish.

While trees are mostly efficient at making new trees, that's not useful in areas that are heavily deforested -- and I suspect that's where this kind of technology would be most useful. Dungog in AU (as noted as a trial site in TFA) is a good example (gold rushes were especially bad for local flora, and in hot arid climates it can take centuries to recover). The breathtakingly vast plains west of Beijing that have been deforested, and now result in massive quantities of top soil being blown into the ocean each year would be a fantastic candidate for this kind of mass spray-and-pray planting.

Also, when re-foresting, pioneer trees are chosen - typically these are acacias (or similar) that have a relatively short life (10-20) years, are hardy, fast growing, and fix nitrogen. In degenerated older forests you may not find many of these around to produce seed naturally.

<comment><USER25> Thanks for many of the good points. I don't disagree with your sentiment that deforestation is the problem, it's just that I feel like this is silly.

If the problem is deforestation, let's attack that problem first. Otherwise this is just pushing the dirt around (literally) and hoping this will fix it.

</comment></comment></comment><comment><USER27> > It's simple maths. We are chopping down about 15 billion trees a year and > planting about 9 billion. So there's a net loss of 6 billion trees a year.

<comment><USER19> This is a regional thing [0] though. We need to plant the trees in Latin America, Caribbean, and Sub-Saharan Africa. The rest of the world is gaining forests.

[0] [http://www.telegraph.co.uk/news/2016/03/23/deforestation- whe...](http://www.telegraph.co.uk/news/2016/03/23/deforestation-where-is-the- world-losing-the-most-trees/)

</comment></comment><comment><USER28> What about wheeled robot for this task? Something like Curiosity to access remote areas and use a drone to refill the seed container. Afaik it's not enough to drop a seed on the ground and wheeled robot could drill small hole to put properly seed inside. Nice application, but who pays for this?

<comment><USER29> >A drone loaded with germinated seeds fires pods into the ground

My reading of this implies the seed ends up underground.

A drone seems like the best answer here to get maximum accessibility and speed. Reaching 100k a day with a wheeled robot would be tricky.

<comment><USER15> We're really talking fleet of drones vs. fleet of wheeled robots here; wheeled robots, even if slower in deployment, will be able to carry more seed pods (reducing turnaround time) _and_ will be orders of magnitude more energy- efficient - i.e. cheaper to operate and better for the planet.

As cool as flying is, I'm all for ground solutions on this one.

</comment></comment></comment><comment><USER30> why couldn't we do this before with RC planes

<comment><USER31> VCs would not throw wads of cash at a business plan that uses RC planes. But have it use quad-copters, and boom! They make it rain.

It's the novelty of it, basically. We're not yet inoculated, as a society, to the charm of quad-copters.

<comment><USER15> At this point, it's not about quadcopters, it's just about the name. "Drones". The new sexy name for RC planes and helicopters/multirotors.

<comment><USER32> That can fly themselves and perform accurate 3D manoeuvres.

<comment><USER15> So can regular RC copters if you fit them with appropriate electronics.

<comment><USER32> Wouldn't it then be a drone?

<comment><USER15> It would. That's why I wrote, that "drone" is "the new sexy name for RC planes and helicopters/multirotors".

</comment></comment></comment></comment></comment></comment></comment><comment><USER27> "This Biodegradable Paper Donut Could Let Us Reforest The Planet" [https://news.ycombinator.com/item?id=16261101](https://news.ycombinator.com/item?id=16261101)

<comment><USER18> I think this kind of thing is funny for us westerners. I recently found this tech has been used in arid countries for possibly hundreds or thousands of years.

[https://duckduckgo.com/?q=ollas+gardening&t=lm&iax=images&ia...](https://duckduckgo.com/?q=ollas+gardening&t=lm&iax=images&ia=images)

I do realize the ollas are for more permanent gardens, but it's the same concept. I do hope the paper version gets used, there are plenty of places that could benefit from it.

</comment></comment><comment><USER33> Planting 100K trees a day is an awesome idea, has anyone thought where the water is going to come for these trees?

<comment><USER34> TL|DR: same place where the trees that were previously here were getting their water. I don't think the article is about planting trees in Sahara or Gobi. It would be more useful in the replenishment/repair after a fire.

Silly example, but in the U.K. (almost everywhere on this island) it rains 4629362619 days per year! (or it feel like this much:)

I do understand that U.K. forests are not diminishing as they are on Amazon but I think (not sarcastically) they are called Rainforests.

I guess it depends on the reason for the deforestation. If it is just for timber, then a cheap solution to repopulate the area would be taken up by the lumberjacks themselves (so they can go back in 10-20-30 years and collect again and repeat the cycle). If the deforestation is simple to create more land for crops/living areas, then this is irrelevant.

</comment></comment><comment><USER35> While I like the general idea here, to improve the environment with technology, it'd be better to use drones to pick up trash. Trees will plant themselves but trash just accumulates and gets ground up by erosive forces.

Also, people need jobs. Give them jobs planting trees and picking up trash.

/can't see the forest for the trees.

<comment><USER36> Nothing personal, but I disagree with pretty much everything you say :)

Firstly you're staging a false dichotomy. We can use both these kind of drones if we want to.

"Trees will plant themselves" < so they are idiots?

"people need jobs" is played every time we replace a brain dead job with some kind of effective innovation. There are no examples of us going back. Fortunately.

<comment><USER37> Just reducing the load of roaming cattle in natural areas and reintroduce predators if needed in natural parks, will do much more for much less money.

Birds plant trees much better than drones and wolves are critical to allow the saplings to survive their first five years. We could feed an army of planting tree drones and cover each inch of mountain with seedlings just to give an expensive yummy snack to sheeps and goats.

<comment><USER35> I don't understand why you are being downvoted. Well, maybe I do, but I want to believe that HN is not so techno-obsessed that they can't fathom what you are saying.

I agree. Let's not plant a lot of trees that goats and cows will just eat up.

</comment></comment></comment></comment><comment><USER38> I hope they are not talking about those 15 to 20 min flight time drones.

<comment><USER18> I could see it work. They only need to plant, and go back to base... Could use multiple drones, some working, some getting recharged/batteries replaced.

</comment></comment><comment><USER39> I'm just speculating about the economics here, and it kinda sounds like a high-school daydream solution, but I feel like you could artillery an area with some munitions filled with seeds and just rely on the natural rate of survival given a uniform-enough distribution of an airburst shell.

       Some quick insomnia driven commentbox math

One 155mm shells has about ~11kg of payload capacity and a range of 25km. [0]

100 panderosa pine seeds is ~4g [1]

11kg means 275000 seeds / shell.

You'd plant pines at density of around 1000/acre [2]

The biggest question is seed survivor rates of being planted by artillery but let's consider a survivorship of 2%...

275000 * 0.02 = 5500 Surviving trees, or effective planting over 5.5 acres / shell.

A modern autoloading artillery can launch ~70 shells per hour. [3]

You'd have an effective planting rate of 385 acres / hour. Or 1.54 km^2 / hour. 13400 km^2 / year.

With a single artillery that has a radius of 25km you get an area of 1900km^2.

       Survivorship is a major bound here

_Seed Survival Rate: 2%_

9,504,000 trees / day

13400 km^2 covered / year

 _But at 1%_

4,752,000 trees / day

6700 km^2 covered / year

In any case 100k/day seems quaint when you can plant nearly 10 million.

Assuming 2% survivorship, covering 1900km^2 at 1.54km^2/hour you can plant the entire effective area in ~55 days, as long as you keep loading the thing.

       Comparing costs to this drone

An Archer artillery unit is ~$4,200,000 [4] 1 155mm shell is ~$500 [5]

It takes ~37 shells to plant 100k trees which means ~$19000 for munitions.

       Using that $400 million dollar fund entirely for this idea

The fund intends to protect 5 million hectares, or 50000 km^2. [6]

Let's say we want to finish this endeavour within 2 years, and assume our effective time spent planting versus moving and getting the project off the ground is 50%, so we get 1 effective year of dedicated planting time.

One artillery piece can plant 13400km^2 / year.

50000km^2 total area / 13400km^2 coverage per year = ~4 pieces of artillery.

Let's buy 3x what we need so we can just flip them out when they break down and have some spares in case repairs/maintenance take a while.

12 pieces of artillery is ~$51,000,000

You need ~46 shells to cover 1km^2

50,000*46 = 2,300,000 shells

2,300,00 shells at $500 / shell = $115,000,000 for munitions

Artillery + munition cost is $166 million.

Throw $10mil each at R&D + Testing, Logistics, and Administration/Staff and you're at $196 million with more than half of the fund left over.

       Hmmmmmmm......

I dunno it feels like it would be worth taking a couple million USD to borrow an Archer from Sweden and rig up a burst shell to see if it works at all.

It has some precedent: there have been some shotgun shells filled with seeds before that actually worked [7]

[0] [https://en.wikipedia.org/wiki/M795](https://en.wikipedia.org/wiki/M795) [1] [https://www.fs.fed.us/pnw/olympia/kids/WASeeds.pdf](https://www.fs.fed.us/pnw/olympia/kids/WASeeds.pdf) [2] [https://www.nrcs.usda.gov/Internet/FSE_DOCUMENTS/nrcs141p2_0...](https://www.nrcs.usda.gov/Internet/FSE_DOCUMENTS/nrcs141p2_021966.pdf) [3] [https://en.wikipedia.org/wiki/Archer_Artillery_System](https://en.wikipedia.org/wiki/Archer_Artillery_System) [4] [http://www.army-guide.com/eng/product2819.html](http://www.army- guide.com/eng/product2819.html) [5] [http://www.pmulcahy.com/ammunition/howitzer_rounds.html](http://www.pmulcahy.com/ammunition/howitzer_rounds.html) [6] [https://www.weforum.org/press/2017/01/400-million-fund- launc...](https://www.weforum.org/press/2017/01/400-million-fund-launched-in- davos-to-stop-tropical-deforestation-and-boost-farming/) [7] [http://www.businessinsider.com/flower-shell-shotgun- gardenin...](http://www.businessinsider.com/flower-shell-shotgun- gardening-2013-12)</comment>


Covid-19 statistics by group age in Spain [pdf] - <AUTHOR> https://www.mscbs.gob.es/profesionales/saludPublica/ccayes/alertasActual/nCov-China/documentos/Actualizacion_52_COVID-19.pdf <comment><USER2> So it looks like, in Spain, about 5% of confirmed infections result in admission to a hospital intensive care unit?

Please correct if I'm wrong — my Spanish is not good.</comment>


YouTube Blog: Share and share a like: we've acquired Fflick - <AUTHOR> http://youtube-global.blogspot.com/2011/01/share-and-share-like-weve-acquired.html <comment><USER2> I misread fflick as flickr... I was starting to get excited.

</comment><comment><USER3> Nice to see a crystal clear explanation an acquisition strategy for once.

This not only seems well thought out and valuable acquisition to provide value to users, but reads like a mission statement for the FFlick team to be successful within Google.</comment>


Is Obama a Mac and Clinton a PC? - <AUTHOR> http://www.nytimes.com/2008/02/04/technology/04link.html?ex=1359867600&en=02cb151437cd9f9e&ei=5090&partner=rssuserland&emc=rss&pagewanted=all

<comment><USER2> Everyone I know is supporting Obama, which would seem to support this idea as well. That still doesn't make it any less stupid or off-topic. Please pg, add a link to vote "irrelevant."

</comment><comment><USER3> Not upvoting. I've devoted weeks of my time to the Paul campaign and even I am getting tired of politics.

<comment><USER4> I wonder how much of the Paul campaign is going to come out of this primary disillusioned with politics...

<comment><USER5> (off topic)

I imagine a lot of folks on all sides are going to be disillusioned with politics this time around. We've seen a lot of grass roots guys, but the political machines don't seem to be paying that much attention to them.

<comment><USER6> Past Ron Paul types got worse treatment. Consider Goldwater in 1960 or Reagan in 1976. Also, consider what Reagan seemed to be when he was establishing his libertarian street cred, versus how he ended up governing -- if the primary campaign didn't disillusion Paul supporters, the Paul administration would have it covered.

<comment><USER5> Trying to keep this non-partisan, it seems that big pieces of the base of each party came out with their own guy this time around. There was Huckabee for the evangelicals, Paul for the A/W Libertarians, and Obama for the black vote. I guess you could even count Clinton with the feminists. In the past, each of these goups were considered the bedrock of their parties. The primary was so open that each group had their own guy, but in general it didn't seem to matter much. Machines beat bases.

You are right that there is a huge difference between the way a politician runs and the way he governs. That's probably a good thing. I think with emotions so high over various issues people are going to be dissapointed when they don't get the simple answer they wanted, no matter who they choose.

</comment></comment></comment></comment></comment><comment><USER7> I don't know if this bothers anyone else as much as it bothers me, but Obama and Clinton aren't the only remaining democrats. Mike Gravel is still in this, despite the incredibly disrespectful treatment he's taken from the media.</comment>


Ask HN: I can't pass tech screens, Should I change careers? - <AUTHOR> I have a CS degree and about 2 years of experience but even with practice have failed 10 tech screens, even one interview with a take-home I supposedly "did well on".
I'm starting to think I should just do something else other than software dev for my career.  I used to like this stuff, but now algo questions just make me feel dumb and stressed out.
I felt like I was at least average in college and had solid internships, finding I sort of hate this stuff post college - feeling lost?
Any advice is appreciated. <comment><USER2> This is an important question I think, and it's too bad that it's not getting more traction here.

If you are doubting your capability ... don't. You are capable of this, period. You know the drill: study Sedgewick/whomever, do LC problems, make sure you understand graphs and DP, etc., etc. The interview process these days is bullshit, it just is. Build those interview muscles.

Also, make sure you properly are managing the usual life stuff: diet, exercise, sleep, meditation, etc. Don't discount those factors.

Now, that said, if you are questioning whether spending the next 6 months of your life studying algorithms -- or, for that matter, the next 30 years of your life doing the software engineering hustle -- is the best way to spend your time/life/energy, that's a very important question, and I can relate. Time spent doing one thing is time you won't spend doing something else. You have one life to live and you have to get real with yourself how you want to live it. If you eventually pivot, OK, but pivot thoughtfully, and for the right reasons. But I don't think you should make the mistake of thinking lack of capability is a factor here.

</comment><comment><USER3> I may be reading through the lines, but given how pressed private industry is for devs you're probably doing poorly on the non-technical part of the interview and they're leveraging the tech screen as an easy out for a decision that they already wanted to make.

How much time do you spend preparing for non-technical phone screens & behavioral interviews?

<comment><AUTHOR> Not all too much - I think I'm pretty personable but what kinds of things should I maybe watch for or try to prepare for?

<comment><USER4> Former director of engineering here...

When I interview a candidate what I'm looking for is creative thinking, ability to solve problems. I like to hear about programming challenges you have faced, and how you solved them, or creative ways you've found to make processes more efficient. I'll ask you to describe some complex system you built in simple terms. I'll ask about ways you've found to save the company money, or use fewer resources.

Even if your interviewers don't ask you these, you can work them into your answers and really set yourself apart from other candidates who only know algo and nothing else. An easy way to word these if you're no Shakespeare is to use the SAR (situation, action, result) format. For example:

Interviewer: Tell me about a major project you led [that saved the company money|made operations more efficient]

You: At my last company, we had a series of 100 web crawlers running on EC2 at a cost of $5000 per month. I realized that they sat idle 80% of the time since requests were unpredictable. I changed the architecture to make use of AWS Lambda instead, and reduced overall compute costs by 40%, while reducing a potential security risk.

<comment><USER3> well said. good advice

</comment></comment></comment></comment><comment><USER5> Keep at it and try to distinguish what kind of culture the company has in the first call with the recruiter. Don't even bother with a tech screen until you know that.

These are good places to start:

[https://www.keyvalues.com/](https://www.keyvalues.com/)

[https://github.com/poteto/hiring-without- whiteboards](https://github.com/poteto/hiring-without-whiteboards)

<comment><USER6> _Don't even bother with a tech screen until you know that._

I'm actually a bit relieved to read this, a few weeks back a third-party recruiter submitted me to a pretty well paying Senior DevOps role at a massive fintech company. Their overview and write up of the role was pretty minimal, so I agreed to be submitted hoping to learn more.

The very first interaction from them was a no-reply@ email from HackerRank. I didn't even know who the internal recruiter was, not even a "Hi my name is blah you, we got your resume from agency" email from a warm blooded human being. Straight to coding test.

If it weren't for an email address in the HackerRank invitation to contact their recruiting team if the test failed to load or some other issue taking said test, I would have had no means of contacting them.

I sent a polite email thanking them for considering me, and that I'd be happy to help them assess my skills but only after learning more about the company, the team I'd be hired into and having at least a nice to meet you conversation.

They declined, I removed myself from consideration.

Wondered off and on if that was the right call, eventually got over it...but that practice just didn't sit well with me at the time.

<comment><USER7> of course it was right

</comment></comment></comment><comment><USER8> Apply to a university and do research programming. You get paid less but nobody will want to do your job, they want to chase startup money. You will have a degree and easily get in because you aren't talking to a recruiter, you're talking to a PhD who prob went to the same school you did. It's the most satisfying work too, writing algorithms for a cancer lab or whatever they're doing at your university. Anyway that's my advice, I too couldn't get any jobs in the beginning

<comment> non-entity Wont that be incredibly expensive? Or do you not have to be in a degree program to do research programming?

</comment></comment><comment><USER9> If you enjoy coding and are at least ok for your experience level, the problem isn't you, it's the interviewing process. I'm sorry you've had so many poor experiences, but stick with it, especially since you enjoy building things.

There's an enormous github repo <[https://github.com/poteto/hiring-without- whiteboards>](https://github.com/poteto/hiring-without-whiteboards>) dedicated to highlighting companies that don't do "whiteboarding", which means "the kinds of CS trivia questions that are associated with bad interview practices."

I didn't read through this reddit post but it might also have some good resources: <[https://www.reddit.com/r/cscareerquestions/comments/532yjp/w...](https://www.reddit.com/r/cscareerquestions/comments/532yjp/what_companies_will_hire_you_if_youre_not_great/>).

I don't have a CS degree, I did some self-teaching off-and-on for about 5 years, did a bootcamp 3 years ago, and have had a decent career since then. I say that to say this: you're probably better than me at this stuff, so to repeat, the problem isn't you, it's the interview process.

</comment><comment><USER10> I find my brain shuts down during interviews. There's also a bunch of misdirection, multiple times I've been told "we're not going to do any whiteboarding" only to be handed a whiteboard marker.

Don't be discouraged, stick with it and make sure you push back against this screwed up culture when you gain experience and have the opportunity to make hiring decisions.

<comment><USER11> I've had this happen too. Also, lots of vagueness about what the technical interview entails, whether in terms of tech stack, format (Q&A? Coding exercises? Discussion-based?), or domain of questions (Pure algorithms? Specific applications to role? Both?).

And even when they are specific, it's not very accurate since there's a game of telephone from the person administering the test and the recuriter.

I study hard, I learn new languages and skills, only to get a completely different test. If I'm studying for the LSAT and am handed the MCAT, it's not a realistic indication of performance.

</comment></comment><comment><USER12> I have experienced exactly the same and have faced a lot of recruitment nonsense over the years. In my opinion it's all a numbers game, some interviews I absolutely smash both the tech and hr part, others I fail miserably even on easy questions because of various circumstances.

Some companies (for example Apple) won't even give you any hr interview they just call and say "let's go through some tech questions" and some guy starts asking you everything you've learnt in uni over 30mins. Others ask you to do a project at home and present it to them. Most commonly they send you a hackerrank which even if you smash there is always the chance you won't hear from them.

Last bit brings me to my next point, recruiters don't see you as anything more than a resource and will change their mind at any point during the process. Recently I had a call with a company's HR they were super impressed and wanted to invite me in for face-to-face and said they will inform me their availability asap... well that was 3 weeks ago and haven't heard back.

My advice is don't get discouraged or believe anything a recruiter tells you. Once I asked for a very reasonable salary for my experience and the recruiter got pissed off telling me even seniors don't make this in their company. Well guess what the next recruiter that called I got offered position for this exact money I asked for with no questions asked.

Just keep applying and slowly improve your problem solving skills and eventually you will land the right position. Most Interviews are extremely unrealistic anyway and even if you fail it doesn't mean anything about your skills, just means they found someone who would work for them for less money... Keep trying and best of luck!

</comment><comment><USER13> Maybe you should try to find an opportunity that isn't dependent on what you're bumping up against repeatedly.

</comment><comment><USER11> I'm in the same boat. I know I would do the job well, but I'm not a good test- taker. And even when I manage to perform really well on the tech screen, I still get rejected.

Stay strong, OP.

</comment><comment><USER14> Interviewing just sucks sometimes. You got this, keep practicing and interviewing, you'll land something eventually.

</comment><comment><USER15> Show me what you have built</comment>


Five ways to improve your Wi-Fi performance - <AUTHOR> http://www.zdnet.com/article/five-ways-to-improve-your-wi-fi-performance/ <comment><USER2> And keep your antennas upright if you life on just one floor:

[https://1.bp.blogspot.com/-PWSFhaFqgzo/VPqpdyvHiUI/AAAAAAAAL...](https://1.bp.blogspot.com/-PWSFhaFqgzo/VPqpdyvHiUI/AAAAAAAALkc/g_Ui1CoWKNw/s1600/wifi%2Bantenna%2Bpattern%2B45%2Bdegree.jpg)</comment>


Ancient artifacts dislodged by climate change - <AUTHOR> https://www.smithsonianmag.com/smart-news/2000-artifacts-pulled-edge-norways-melting-glaciers-180967949/ <comment><USER3> The unidentified "wrenches" [1] look awfully like a Trangia pan handle [2]. Wonder if they were used to hold a hot cooking pot?

[1] [https://miro.medium.com/max/4344/1*yF6s3HG4AY4WAQruLPSmag.jp...](https://miro.medium.com/max/4344/1*yF6s3HG4AY4WAQruLPSmag.jpeg)

[2] [https://www.amazon.co.uk/Trangia-Pan- Handle/dp/B06XWJ32LP](https://www.amazon.co.uk/Trangia-Pan- Handle/dp/B06XWJ32LP)

<comment><USER4> Indeed. Never thought about whittling out one. Looks like a neat little project when we go camping next summer.

</comment></comment><comment><USER5> without a single picture of any of the artifacts

<comment><USER6> That made me very frustrated! Here's the proper article, with actual pictures: [https://www.smithsonianmag.com/smart-news/2000-artifacts- pul...](https://www.smithsonianmag.com/smart-news/2000-artifacts-pulled-edge- norways-melting-glaciers-180967949/)

<comment><USER7> Thanks for the link. Aside from the OP article's basic regurgitation of prior (perhaps stale - I couldn't read it either being behind a "sign-in wall"), the Smithsonian author clearly didn't view it as a race against time and human- induced climate change, but merely an unexpected windfall for researchers:

"There are countless negative impacts of the changing climate, but the recovery of these artifacts could be an unexpected positive. Our uncertain climate future may inadvertently help researchers learn more about our past."

</comment></comment></comment><comment><USER8> The article suggests, that the climate change that we are now concerned about is responsible for the exposure of these artifacts. Actually, the periodic glaciation in the earth history is followed by warming periods, known as the interglacials, during which the glaciers retreat[1]. This melting of glaciers, and the concomitant rise is sea level has been going on for the last 20,000 years of the current interglacial. I feel like this article, perhaps slightly, misrepresents what is happening.

Ötzi[2] was discovered almost 40 years ago, before the accelerated warming due to current climate changes we are concerned about. He was likely uncovered by the inexorable melting of the glaciers that started during the current interglacial epoch, known as the Holocene, and which continues today. This melting explains the small, but constant sea level rise that has been going on for centuries. [3]

During the last glacial maximum, the Laurentide ice sheet covered millions of square kilometers including the area that is currently Canada and northern United States. This ice sheet was up to _4000 meters thick_ , carved out the Great Lakes, and covered most of North America until 20,000 years ago. [4]

[1] [https://en.wikipedia.org/wiki/Interglacial#/media/File:Ice_A...](https://en.wikipedia.org/wiki/Interglacial#/media/File:Ice_Age_Temperature.png)

[2] [https://en.wikipedia.org/wiki/Ötzi](https://en.wikipedia.org/wiki/Ötzi)

[3] [https://en.wikipedia.org/wiki/Early_Holocene_sea_level_rise](https://en.wikipedia.org/wiki/Early_Holocene_sea_level_rise)

[4] [https://study.com/academy/lesson/laurentide-ice-sheet- facts-...](https://study.com/academy/lesson/laurentide-ice-sheet-facts- collapse-timeline.html)

</comment><comment><USER9> If an arrow shaft was found from about 1500 years ago, does that imply there probably wasn't ice there at the time? Or were people hunting on the ice then?

<comment><USER10> The latter. Anything under the glacier would be pulverised into dust (the glaciers even carve out their own valleys). These artefacts must have started up above the ice (on top or down a crack), so the people would have been hunting on the ice or maybe travelling across it.

<comment><USER11> I don't think we can simply assume that starting position matters to "pulverization" after 1500 years.

Mobility is more likely; the mobile object moves along with the ice, the stationary one gets pulverized.

<comment><USER10> I think even moving things that started on the ground would probably be crushed by the weight, since they would be at the bottom.

</comment></comment></comment></comment><comment><USER12> Wrenches? Clearly those are bottle openers.

[https://miro.medium.com/max/6516/1*yF6s3HG4AY4WAQruLPSmag.jp...](https://miro.medium.com/max/6516/1*yF6s3HG4AY4WAQruLPSmag.jpeg)

</comment><comment><USER13> The references to Vikings seem a bit gratuitous, tacked on to the end of sentences likely by an editor, when the scope of the article is about Ötzi and 3400-year old shoes. I'm sure they've found some stuff from 1000 years ago as well, but the really fascinating material here is far older. But Vikings!!

</comment><comment><USER14> Are there any good sci-fi novels about global warming thawing out some ancient alien artifacts?

<comment><USER15> Not precisely what you're looking for with the global warming angle, but At The Mountains of Madness by Lovecraft and John Carpenter's The Thing both feature aliens hidden under the ice.

<comment><USER16> Also the first X-Files movie; it had a whole spaceship buried in Antarctica.

</comment></comment></comment><comment><USER17> why is there so much clip art and so little pictures of artifacts?

<comment><USER18> It's not an article to push the artifacts, it's an article to push global warming.

</comment></comment><comment><USER19> The existence of fossil evidence of human civilization in glacial areas indicates these areas were warmer in the past, when the glaciers didn't exist. It underscores the cyclical nature of climate change.

</comment><comment><USER20> Cant read this article, Medium shows me to signup for an account.

<comment><USER10> That always pops up for me, but I can just close it by clicking outside the box or clicking the x in the top right. Do those not work for you?

<comment><USER21> Those always used to work. But now I'm getting an uncloseable popup:

You've completed your member preview for this month, but when you sign up for a free Medium account, you get one more story

</comment></comment></comment><comment><USER21> > You've completed your member preview for this month, but when you sign up > for a free Medium account, you get one more story.

Fuck Medium.

<comment><USER22> Incognito gets you around this. I know it's beside the point. However incognito is the laziest of bypasses to a subscription-wall which tells me Medium aren't really behind it as a strategy anyway.

<comment><USER23> The real problem is that websites can still even tell whether or not you're in incognito mode.

<comment><USER24> Lately I've been using Forget Me for Chrome. [https://chrome.google.com/webstore/detail/forget-me-clean- hi...](https://chrome.google.com/webstore/detail/forget-me-clean- history-c/gekpdemielcmiiiackmeoppdgaggjgda) One click wipes cookies, history, and local and session storage for the current site. It works on the NYT and everything else I've tried so far.

</comment></comment></comment></comment><comment><USER25> Well, that's what you can expect to happen if an ancient ice melts - <USER2> just comes out.

</comment><comment><USER26> I hope they find Megatron...

<comment><USER27> And not The Thing...

<comment><USER28> or ancient sandwiches

<comment><USER29> and not ancient sand witches

</comment></comment></comment></comment><comment><USER30> Filled up with cute clipart. Few images of the artifacts themselves.

Possibly the ultimate failure in basic interface design. Thanks, morons.

</comment><comment><USER31> Indiana Jones and the Fate of Atlantis!

[https://i.imgur.com/G1vIYO0.jpg](https://i.imgur.com/G1vIYO0.jpg)

</comment><comment><USER32> I often get into arguments with people not believing in the consequences of climate change, especially when it's about the melting glaciers. People reason that finding ancient objects hints to low ice levels at numerous times in the last millennias. My reaction is to reason about the implications of melting ice (ex. sea level rise), which I cannot really back up with facts. Is there another way to argue about this?

<comment><AUTHOR> You can absolutely back up concerns about sea level rise with facts: [https://skepticalscience.com/sea-level- rise.htm](https://skepticalscience.com/sea-level-rise.htm)

Some just choose to ignore them.

<comment><USER33> Wow, that site managed to hang my Brave tab on a 10-core, 64 GB RAM machine. Is it folding proteins on the background or something?

<comment><AUTHOR> Maybe you need to check what else is running. I am using a Chromebook and it loads in seconds.</comment></comment></comment></comment>


A type system for Tcl diagrammed - <AUTHOR> https://tcl.wiki/40985#pagetoce8f2de91 <comment><USER2> Really guys??? A graph of a hundred nodes and edges??? How could I ever have any confidence that I was using it right? I can tell you than 99 out of a hundred TCL programmers I know will never look at that diagram, and the hundredth one roll their eyes and wonder why their script broke...

<comment><AUTHOR> Should this ship in Tcl 9.0, you won't have to learn it. What's neat about the types shown in the diagram is that you could say that Tcl (byte)code _already implicitly has them._ This comes from the research being done by two members of the Tcl core team, DKF and KBK, in order to make it possible to compile existing Tcl code with LLVM. The idea is that if your compiler can prove certain variables are a certain type narrower than STRING, it can apply optimizations to them for a major performance boost, especially to numerical code (2x-25x).

</comment></comment><comment><USER3> This is big.

Go tcl go!!!!</comment>


Arcade Fire - Reflektor (Full Album Teaser - Official) - <AUTHOR> https://www.youtube.com/watch?v=CBjqUEMlHTY#t=27

<comment><AUTHOR> Sound only works for a selected few. Unfortunately I'm not one of them, but nevertheless, in my opinion, Arcade Fire show once again that they understand modern technology and how to harness it for their art (and sales too, probably).</comment>


Lambda-calculus in lambdatalk - <AUTHOR> The lambda-calculus is amazing and rather terce. I read a lot of things here and there, written by smart people, but I am not sure that I understand what is to be understood. So, using a small lispy dialect I am working on, lambdatalk, I decided to translate some primitive objects of lambda-calculus - Church numbers, a set of operators (succ, add, mul, power), pairs, computing factorial - and I wrote this page [lambda_calculus](http://epsilonwiki.free.fr/lambdaway/?view=lambda_calculus). It's a work in progress. I feel I understand a little more the lambda-calculus :)<p>I wonder what smart people like you could think of this work. Your opinion is welcome. Thanks in advance. <comment><USER2> Nice summary. I like it. I will bookmark it for future reference as it is more concise than the Wikipedia article that I usually refer to.

A quick mention about closures would be a good idea.

I often see the Lambda Calculus introduced with "oh look only 3 constructs and you can do all this stuff..."

However closures are also necessary because if the inner `x` in

      \x.(\x.x)

doesn't come from the correct abstraction the whole thing doesn't work.

<comment><AUTHOR> Thank you :) About closures it can be interesting to know that in lambdatalk lambdas don't create closures, there is not any local environment. Things work because lambdas memorize partial calls and are de facto curried and so closures are not necessary. More explanations in this page: [http://epsilonwiki.free.fr/lambdaway/?view=lambdatalk%20thre...](http://epsilonwiki.free.fr/lambdaway/?view=lambdatalk%20three#17) .

Thanks again</comment></comment>


Everyone you know will be able to rate you on the terrifying 'Yelp for people' - <AUTHOR> https://www.washingtonpost.com/news/the-intersect/wp/2015/09/30/everyone-you-know-will-be-able-to-rate-you-on-the-terrifying-yelp-for-people-whether-you-want-them-to-or-not/ <comment><USER2> What exactly is the revenue model for this?

Secondly, I am so glad I went to high school in the 80's because this is going to make life a pain-in-the-butt for a lot of high school students. Isn't it nice that fellow developers who probably had a rough life with their interest in technology are helping to write an app designed to make it super efficient to do the same to others.

<comment><USER3> _What exactly is the revenue model for this?_

Most likely a cut-and-paste of what they believe the Yelp model to be. And probably without a realistic estimate of how much labor will go into policing it. If the public can currently get their jollies off of gaming _existing_ review systems for goods and restaurants, they'll jump at the chance to do the same for individuals.

Really, the question should be: "how much personal harm will be caused by this before the money will run out?"

</comment></comment><comment><USER4> '...users can "report anything they deem inaccurate" to the site.'

So, guilty until you can prove yourself innocent then.

</comment><comment><USER5> "Terrifying" should be in capital, bold letters. I don't even know what to say about this app...

</comment><comment><USER6> "If we have it for restaurants, why [don't] we have it for people?" one Twitter user offered the withering reply, "[B]ecause restaurants [don't] kill themselves??"

I hope that the creators and the investors will be dragged through court (and rightfully so), if God forbid something like that happens.

</comment><comment><USER7> The best bullying prevention is to never sign up for this garbage.

"If you haven't registered for the site, and thus can't contest those negative ratings, your profile only shows positive reviews."

</comment><comment><USER8> How is this even possibly legal? I know some folks who are trying to build a new service to revamp existing corporate personnel performance reviews and this is exactly the kind of thing that is proving to be difficult.

Seriously. How?!

[http://www.hg.org/defamation.html](http://www.hg.org/defamation.html)

</comment><comment><USER9> This is particularly worrisome for people with unique names. John Smith doesn't have to worry as much because he could claim "that's not me". But I'm pretty sure I'm the only person in the world with my name and that makes this less fair for me.

</comment><comment><USER10> I wonder how a site like this fits in with the right to be forgotten:

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

<comment><USER11> If it results in an expansion of that right in the USA, I'm all for it.

</comment></comment><comment><USER12> They should just call it "Gossip Channel". I don't see the point behind this, unless the comments and ratings were orchestrated to always beeee ... polite.

</comment><comment><USER13> Idk what effect the "positivity rating" would have on this.

</comment><comment><USER14> Ah, is this being allowed on here now?

Edit: nope, gone from the first few pages.

<comment><USER7> I think discussion for this type of thing is important for myriad reasons.</comment></comment>


Enlightened - <AUTHOR> https://what.thedailywtf.com/topic/15001/enlightened <comment><USER2> > And did I mention EFL is the basis of all applications on Tizen?

Fuck, I was really hoping for a non-shitty, actually opensource, mobile operating system.</comment>


Night Owls late night co-working group (they hate Apple) - <AUTHOR> http://nynightowls.tumblr.com/

<comment><USER2> As the owner of a MacBook Pro, I can tell you this: all of those people have very hot laps.

<comment><USER3> They are united in their creative diversity.

I've always thought it highly ironic, "think different" being associated with such rigid conformity.

<comment><USER4> Or we just think they make good computers ;)

Hell, if the majority has good taste, I'm with the majority.

</comment></comment></comment><comment><USER5> The photos remind me of the stat I read recently that the majority of incoming college freshmen are bringing Macs (one source: <http://tech.fortune.cnn.com/2010/08/07/big-macs-on-campus/>)

</comment><comment><USER6> I've been thinking about needing a late-night, hacker space in Brooklyn for a couple years now -- any HNers in Brooklyn interested in setting something up?

EDIT: If there is interest, we can organize off HN at <http://www.meetup.com/Nightowls/21183/>

</comment><comment><USER7> Would love to start a Seattle one if anyone else is interested. One good place I've found that is loung-ey and has great food is the Night Kitchen downtown, but it only has space for about half a dozen people. But they have board games, sofas, and decor in the back room.

<comment><USER8> I'd be down occasionally.

<http://www.seattletechcalendar.com/> shows that Monday is perhaps the best time to hold it. It's at least a little out of date though, Seattle Wireless Hacknight moved a year ago.

</comment></comment><comment><USER9> Are these meet-ups more social for actually getting work done?

<comment><USER10> if anything, they're less social and way more about getting shit done. we've actually had people come who were surprised to find that so many people were quietly doing their own thing. for me, it's a focused work session without distraction...

</comment></comment><comment><USER11> Could we please get a New York meetup that's _not_ on Tuesday night? :/ LWOB, NY Tech Meetup, and NY Tech Mixer all meet primarily on Tuesdays.

<comment><USER10> we may open a thursday night edition... but overall, tuesday works well. there's always something going on in new york so it's all about determining your own personal priorities. if you want to get shit done, come to nightowls. if you want to see new tech start-ups presented and have the opp to meet 800+ interested in nyc tech, go to meetup..

<comment><USER11> There are some weeks in which I'd like to do both. I'm far more likely to go to something on Monday, Wednesday, or Thursday night than Tuesday, because there's a lot competing for my attention on Tuesdays.

<comment><USER10> fair enough. however, we can't please everyone! tuesday night is what worked well from the start... we're looking into more nights though...

</comment></comment></comment></comment><comment><USER12> Also San Francisco Night Owls: <http://sfnightowls.com/> and LA Night Owls: <http://lanightowls.com/> though these don't seem to have been active since May 26(?)

If there were one near me I'd try it.

<comment><USER13> Or even DC... if anyone is interested.

<comment><USER14> I would be interested in this.

<comment><USER10> if you want one in dc, you can make it happen! anyone can start a meet-up in any city here: <http://www.meetup.com/nightowls/>

</comment></comment></comment></comment><comment><USER15> Anyone interested in starting something similar to this in Ottawa, Canada?

</comment><comment><USER16> What is it like? Is it like a hacker/creative study hall where everyone is motivated by peer pressure (in a good way) and good vibes?

<comment><USER10> good vibes for sure! also a spirit of getting things done... you should come by and say hi! (my name's amber!)

</comment></comment><comment><USER17> Anyone know what happened to the SF branch?

</comment><comment><USER18> I'd love to have something similar here in Rio de Janeiro, Brazil. If anyone else is interested drop me an email.

</comment><comment><USER19> I would love to get one of these groups started up in San Diego, maybe at The HIVE.

<comment><USER10> do it! <http://meetup.com/nightowls> is the group meetup to make it happen!

<comment><USER20> A quick question about meetup.com: Are meetups automatically generated based on my IP and location?

<comment><USER21> I suspect this is the case. I just clicked on that Meetup - Nightowls link and there was a meetup for the town in which I work my day job. It'd be a pretty crazy coincidence for that to already exist and to be at the top of the list; this isn't exactly an area brimming with the culture typically associated with meetups.

<comment><USER20> That's why I was asking: Checking it out from home and my office showed two different meetups in my region. Either a coincidence or a clever technical trick to get people to participate.

</comment></comment></comment></comment></comment><comment><USER22> And to think that they used to say "Think different".</comment>


Ask HN: Any drug to increase focus? - <AUTHOR> I am unable to focus on a single thing. I am always running from one task to another, wasting valuable time. I have tried many apps, tactics reading books, advice. None is working. I feel like I am getting dumb day by day, an asshole. What do you do maintain focus, or any drug available to increase focus and use brain? <comment><USER2> First, block all your notifications and display only one window on your screen. Then, try to focus only 20 minutes on only one task. After that, give you a break of 10 minutes, check your email, FB, Twitter, etc. And repeat the process. It takes time, it is not always easy but with perseverance it is _possible_. When you will be comfortable with 20 minutes of focus, you will can go to 30, etc. Force yourself and you will be very satisfied with the result and it will entice you more.

<comment><USER3> I strongly suggest trying this in earnest before turning to chemical solutions, they ALWAYS come with drawbacks. Concentration and productivity is definitely dependent on habits, skills, and finding what works for you. Also take care of yourself, these problems often come in combination with poor diet and a sedentary lifestyle. It takes time, consult your doctor if you end up requiring chemical assistance.

Best of luck, I hope you're feeling well soon!

</comment></comment><comment><USER4> You should consult a psychiatrist about ADD (attention deficit disorder) diagnostics. Self-medicating is not a good idea.</comment>