Teardown: Casper's Clever Little Nightlight - <AUTHOR> https://blog.bolt.io/casper-glow-e4f8819376d7 <comment><USER2> I bought one, as I sell a product with a similar use case [0].

My impressions: The overall concept is great. The UX is cool, but some of the UX choices are strange to me. For example, automatically dimming down when you turn the light on (you have to press the button to pause it) vs. the other way around. It works well as a wake-up light, although I would have preferred something higher-blue for the morning.

There's really nothing "low-blue" about this light compared to other 2700K LED lights, other than the fact that it has a dimmer built in. The 2700K diodes they chose don't have better color quality than normal LED bulbs. It has "amber" (somewhere around 2000-2200K) LEDs at the very bottom end of the range that have great color quality, but they are too dim for anything but navigating to the bathroom at night.

They are modulating the LEDs with PWM at a very high frequency, almost 8 kHz. That's better than most of today's smart lighting by far. There's still debate about 100% flicker actually being healthy, even at higher frequencies.

For the lighting nerds, I captured photometric and flicker measurements, which you can review at [1].

Overall, I think Casper's lamp is a good effort. I hope future versions can improve the color quality, some of the interactions, and the overall healthiness of the light compared to regular lighting.

[0] Bedtime Bulb: [https://bedtimebulb.com/](https://bedtimebulb.com/)

[1] Casper Glow Photometrics: [https://www.dropbox.com/s/u8n0way6xqwbqcd/Casper%20Glow%20Ph...](https://www.dropbox.com/s/u8n0way6xqwbqcd/Casper%20Glow%20Photometry.pdf?dl=0)

<comment><USER3> I use flux and I know the importance of eliminating blue wavelength before bed. What I don't understand is the need to eliminate green, and this graph on your site doesn't help much in understanding that: [https://i.imgur.com/fHJKxWA.png](https://i.imgur.com/fHJKxWA.png) ( _rehosting on imgur for short URL_ )

I don't know what the grey area is, and there are no axis so I am unsure what this graph is even showing me. Also, wouldn't eliminating "orange" light be just as important (according to the graph you provided), since it seems to follow the same path as green?

Everything else makes sense on the page, it's the graph that threw me.

<comment><USER4> "Orange," "green," etc. in those graphs are just different models of lightbulbs. (Maybe using patterns - dotted, dashed, etc. lines - would have been clearer than overloading color.) For colors, look at the frequencies on the X-axis.

Anyway, the trick is that photoreceptor cells are sensitive to a range of frequencies, with weights centered on a particular color, and return a single floating-point output. So your blue cones cannot distinguish bright green and dim blue - that's only calculated by taking the input of the green cones into account, too. See [https://i.stack.imgur.com/5snTb.png](https://i.stack.imgur.com/5snTb.png) for what each cone's sensitivity looks like (in this graph, lines are light _received_ by each cone, and the colors are semi-meaningful). If the goal is to not stimulate the blue cones at all, you need to emit as close to pure red light as possible. The wavelength of your light as measured by the single average or dominant color isn't as interesting as the _spectrum_ of all light it emits and how much that overlaps with blue sensitivity.

<comment><USER2> One thing to point out is that the circadian rhythm is (largely) not directly influenced by the cones or rods (to our current knowledge). It is a third set of photoreceptors, the ipRGCs, which detect blue/green light and provide input to the circadian rhythm in the pineal gland/suprachiasmatic nucleus. The gray area is the sensitivity of the ipRGCs.

Also, that's a good point about the colors vs. dotted/dashed lines. I'll look into that, thanks!

<comment><USER5> We know the ipRGCs receive cone and rod inputs and that non-melanopsin responses (from rods and cones) drive a lot of the reaction at lower light levels.

<comment><USER2> Thanks for the clarification, Michael!

</comment></comment></comment></comment></comment></comment><comment><USER6> More home gadgets should be like this. No real rocket science inside, just excellent design and good implementation. _Optional_ smart Bluetooth stuff, completely usable just with minimal buttons and gestures. Doesn't try to take over every household task, just tries to do one thing well.

Anybody could make products like this if they just took enough time and care over it. Hardly anybody ever does. (IKEA comes to mind as another good example, and maybe Philips' Hue lights.)

 _[Edit to add:_ I have absolutely no connection with any products or companies I've mentioned, in case this comes across as marketing spam! I'm just constantly frustrated at crappy and/or invasive "smart home" devices, so it's refreshing to see somebody take what seems to me exactly the correct approach, and apparently pull it off very well.]

<comment><USER7> > Anybody could make products like this if they just took enough time and care

Name a resource more precious than time and one more scarce than care. What you're talking about is HARD to do.

<comment><USER6> Yeah, I guess it's pretty much a "worse is better" thing. Worse products are faster to market and cheaper, so why waste time and money trying to do it "right"?

<comment><USER8> If your customer can't afford a product done "right", that is also an issue.

</comment></comment></comment></comment><comment><USER9> Hahaha cost effective design. There's no way in hell that thing is even remotely cheap, or optimized. Chips from TI, Tons of hand assembly, custom aluminum extrusion, seamless, no mold mark shell... This thing was not cheap. They even splurged for an ENIG finish!

That being said, it could be done for waaay less if you're willing to compromise on just a few features.

Single LED COB array at the base. Gets rid of ~7 parts (6 pcb Led array, the custom aluminum extrusion, plus all the flax flexes, plus a fair amount of hand assembly. Everything on a single PCB.

Can still do the twist dimming + everything else, the light will just have an orientation.

<comment><USER10> TI chips can be quite affordable.

TBH, 'Custom aluminum extrusion' \- this is not a big deal at all. In China, the tool for this is < $1k and for what appears to be about 6 inches, perhaps its a dollar's worth a material if it was WAY overpriced, most likely less than 50 cents. And the tool will last for a long time...

<comment><USER9> Any resources on who to go to to get custom aluminum extrusion? Always assumed it was too expensive, but I was fortunately wrong!

As far as the chips go... I've had much better luck with Asian chip manufacturers -- generally about 1/3 the cost for similar parts. Most have a decent english datasheet. LCSC is a good place to find them.

<comment><USER10> We basically just looked on Alibaba for factories that could do all the metal work that we needed, sent them a quotation package, set up a tour, confirmed their ISO:9001, negotiated terms, and were off to the races. If you have a CM where everything is received for final delivery it helps as they can do your IQC so your metal supplier accountability is baked in. At least thats what has worked for us.

<comment><USER9> Can I ask what you were making?

<comment><USER10> [https://flair.co](https://flair.co)

</comment></comment></comment></comment></comment></comment><comment><USER11> Did anyone else notice the price has seem to have gone up $10 in the past hour?

I could've sworn when I read this initially, it was $89! I had some stuff to do so kind of filed it away to look at later and now it is selling for $99.

Also, this article seems like an advertisement/blogspam, plus with the sudden price change - I'm very suspicious.

That said, it looks like a really neat product. My daughter has sleep issues (falling asleep - staying asleep) and we've tried all sorts of different lighting to help (she can't stand full darkness) and I'm wondering if a self dimming bedtime lamp like this might help her.

<comment><USER12> > Also, this article seems like an advertisement/blogspam

It's written by Bolt, a hardware-focused VC which was founded by some pretty technical people and has a history of publishing teardowns (e.g. the Juicero one[0] which was popular here on HN a while back).

[0] [https://medium.com/@BenEinstein/heres-why-juicero-s-press- is...](https://medium.com/@BenEinstein/heres-why-juicero-s-press-is-so- expensive-6add74594e50)

<comment><USER13> Casper has a history with trying to dictate the terms of viral marketing. I would be suspicious of even hacker news comments.

>In 2015, Casper CEO Philip Krim had a months-long email conversation with one of the sites' founders, sounding like he was ready for Casper to play ball.

>"Currently you actively endorse a competing product on our review page," Krim wrote in one email, which was made public in court filings. "What can we do to not have you endorse another product as superior to ours?"[0]

[https://www.recode.net/2017/9/23/13153814/casper- sleepopolis...](https://www.recode.net/2017/9/23/13153814/casper-sleepopolis- lawsuits-mattress-reviews)

</comment></comment></comment><comment><USER14> > As a bedside object, I really appreciate the lack of branding and visual > clutter on the device.

Oh yes! Last thing before bed I wonder "why did I just have to see the name of the manufacturer of my bathroom taps?". They are good taps but...

<comment><USER15> This bugs me with just about everything. Manufacturers shouldn't put visible branding on things unless that version is offered at a discount compared to the unbranded version.

<comment><USER16> Louis Vuitton and Rolex say what?

<comment><USER17> They say 'haha people will pay loads to see our names on stuff even if there's no other discernible difference in quality! haha conspicuous consumption and class signalling are great! lol'

<comment><USER18> Rolex makes some pretty high-quality watches.

<comment><USER16> Sure, but their price is entirely about what people are willing to pay and not at all connected to the cost of production. There are some Swiss watches that take an incredible amount of work by highly skilled craftsmen to make, but that's not Rolex. They're cranking out a million watches every year thanks to automation.

<comment><USER19> > their price is entirely about what people are willing to pay and not at all > connected to the cost of production

You have a source on that?

<comment><USER16> The watches are not expensive to make, they are expensive to sell. The marketing and sales costs are going to be higher than the actual manufacturing.

This is one estimate saying it's between $300 and $800:

[https://www.quora.com/How-much-does-it-actually-cost- Rolex-t...](https://www.quora.com/How-much-does-it-actually-cost-Rolex-to- make-a-watch-i-e-aside-from-the-stones-and-precious-metals-themselves-what-is- the-manufacturing-cost-and-what-is-the-profit-margin)

Even if that's wrong, it's certainly under $1000. Gold ones will be higher, of course.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER20> Making the battery removable by the user seems like a minimum effort for reducing e-waste and the battery is a common form factor (18650). Someday the path will need to move from manufacturer -> consumer -> landfill to manufacturer -> consumer -> manufacturer -> landfill where part of the device cost covers the reprocessing of materials, especially toxic materials.

<comment><USER21> That is, if the manufacturer is still in business when it's time to throw away the device.

This is one reason why the 'leasing' model for complex gadgets (like phones) appeals to me in an environmental sense. When Apple/VZW/AT&T take back a device, at least they have the resources and incentive to do something better than toss it in a landfill.

<comment><USER22> Huh? What phone manufacturer are you worried about going out of business?

<comment><USER23> > What phone manufacturer are you worried about going out of business?

Every single one of them could go out of business in the future.

It happens all the time to companies you'd think were "too big to fail":

      MCI
      Sears
      Montgomery Wards
      Mervyn's
      Gemco
      Best
      Pioneer Chicken
      Radio Shack
      Sierra Online
      Pan Am
      Atari
      Commodore

I haven't even mentioned the number of car companies that have bit the dust, that people never thought they'd go away.

All of these can go away - and likely will go away.

It's quite possible that Google, Facebook, Amazon, and many others might go away.

I'm honestly surprised that IBM is still around. Sun Microsystems is gone (more or less - they are part of Oracle now, mainly as a name - you might know about the language they developed called "Java"); so is Silicon Graphics...

Apple of course still exists - but it wasn't that long ago that Microsoft had to pump some cash into them just to keep them going so that they wouldn't be accused of being a monopoly (or something of that nature). It's kinda funny, given where Apple is today - and where Microsoft is as well...

Yeah - any and all of these companies can go away - and in fact are likely to.

That's just the way the world is.

</comment></comment></comment></comment><comment><USER24> A quite high quality device by the looks of it, no wonder it is $90!

Interesting to see that each LED is individually dimmable when the device is not a display (the 3 LED drivers are 16 channels each, and there are 48 LEDs total). Looking at the animations on the article, you should only need 8 channels or so to get the top to bottom effect, using a higher voltage boost to get the LEDs as series strings. It's a fairly expensive LED driver to have that many of them, but I guess designing it that way adds flexibility in future. (A "flickering candle" effect maybe?).

The use of the discrete Nordic IC rather than a module definitely suggests a higher volume product to justify the cert costs, especially as the device is not pushed for space.

Finally, the power management side is also quite premium, with a high current switching battery charger. Looking at another review[1], it appears to come with a mains adaptor permenantly wired to the base, rather than use Micro USB. As the pogo pins are quite small, the mains adaptor might provide a higher voltage e.g. 12V to reduce the current through the pins, and so a more expensive switching charger is used to step this voltage down for the battery. The battery wiring appears to be doubled up as well for a higher charge current by using more connector pins, so it can probably charge quickly in 2.5 hours or so (0.5C). Surprised they didn't just use a larger connector and wiring, again this isn't a small product.

[1] [https://www.macrumors.com/review/casper-glow- light/](https://www.macrumors.com/review/casper-glow-light/)

<comment><USER25> >Interesting to see that each LED is individually dimmable when the device is not a display...

This might be a feature they ship in the future, "breathing" modes, a sort of rotating lighting pattern etc could all be shipped later.

</comment></comment><comment><USER26> I like the gesture-based interfaces/interactions, they seem natural and intuitive (no futzing around with buttons or an app).

\- the "twist" (to adjust brightness)

\- "wiggle" (for low light)

What other smart home products exist that are innovating the manual UX for objects like this?

</comment><comment><USER27> I really like the idea of this product, if not the price.

We've just bought a new home and I want to achieve a minimal bedside. We've also got two very young children and frequently have to get up during the night. Being able to carry this to their room and sit with them while they settle down seems lovely.

</comment><comment><USER28> If you don't care about the smarts, I really want to recommend this lamp as an alternative: [https://wap.taotronics.com/#/product/product_details?urlKey=...](https://wap.taotronics.com/#/product/product_details?urlKey=ttdl2390fa2f22)

It has no smart anything, it's just a battery powered dimmable lamp with beautiful light.

Comparison with Casper light:

\- much cheaper

\- has a handle that lets you hang it somewhere

\- charges via micro USB

\- doesn't have auto-off (will shine all night)

<comment><USER29> >doesn't have auto-off (will shine all night)

Sounds like an anti-feature to me; the last thing I want is a light that stays on all night.

What would be nice is a nightlight that can sense when I get out of bed in the middle of the night, and light up in red, so I can walk to the bathroom without running into things, and then turn off again when I get back into bed.

<comment><USER28> Yes, it's not the same target audience :)

Are you looking for something like this? [https://www.amazon.com/Aiprov- Fireproof-Induction-Battery-Po...](https://www.amazon.com/Aiprov-Fireproof- Induction-Battery-Powered- Nightlights/dp/B07HH719RL/ref=mp_s_a_1_8?keywords=motion+sensor+night+light+red&qid=1551477179&s=gateway&sr=8-8)

</comment></comment></comment><comment><USER30> I see this is controllable via an app. Does it communicate via the "cloud" or locally? (Bluetooth etc).

If it is cloud-based, what happens when the service inevitably shuts down?

Edit: Upon further reading it appears that this device has BLE. That's reassuring, at least.

<comment><USER31> I'd personally wait until they're $20 used on eBay, then attempt to reverse- enginner the protocol so it can be controlled by Python and a Linux box.

<comment><USER32> Thank you, because I assume the last step would be open sourcing it. People like you are what keep hardware going long after the original vendor abandons it or goes under.

Also, I agree on waiting for eBay, this is a nice device but I can't justify $99 for it.

</comment></comment></comment><comment><USER33> A great idea from a company trying and hopefully succeeding in not being a one trick pony, or stuck on their cash cow/core business. Their strategic thinking is top notch... From the article:

"It is interesting to think about how this might work strategically for Casper's business. People don't buy mattresses very often, and the challenge for a company like Casper is that it spends a lot of money acquiring a customer. Once it has sold them a mattress, the relationship would be over if not for follow-on products (hence pillows, bedding, etc). By launching additional products, Casper can invite its customers to build a lasting relationship and spend more money.

For Casper, it is imperative to extend the lifetime value (LTV) of its customers by continuing to expand its product line, but why the tech complexity? Perhaps to get people on a software platform? Casper's Chief Product Officer Jeff Chapin realistically admits "There are some people who are never going to download the app and that's fine."

</comment><comment><USER34> Those gifs are some damn-good marketing! A soft dimming like that always reminds me of building a "breathing light" with an Arduino.

With something this unique, I'm certain there will be knock-offs available on Amazon by August. I wonder how Casper will take that into account.

<comment><USER35> Casper is basically a marketing company anyway, so they will probably deal with it using more marketing as well as continuing to slander other companies that they see as competitors.

</comment></comment><comment><USER36> Hold on. Did they just put their prices up? [https://casper.com/glow- light/buy/](https://casper.com/glow-light/buy/) . It was $89 a few minutes ago now it's $99. Demand must be surging!

</comment><comment><USER37> I don't exactly understand the use case, here. What problem does this solve? Why should I want to buy this?

Seems like Casper is stretching to find bed-related accessories, if this is what they came up with first. If anything, I'd want my sleep space to be _darker_ when I want to sleep. As one might get with motorized blackout window shades, blinds, or curtains. As it is, I can reach the toilet perfectly fine on just starlight through windows.

And what kind of fancy expensive night light doesn't have a red/orange mode so as to not screw up one's night vision?

</comment><comment><USER15> Anyone have any others they would recommend? I've set my bedroom lights to automatically turn on at sunrise, realizing how much I hate the sound of an alarm clock, but the light is just instantly way too bright. Would prefer something that gradually increases in brightness over fifteen minutes.

<comment><USER38> This is going to sound glib, but have you tried opening the blinds? Sunrise is nice and gradual.

<comment><USER15> Unfortunately my bedroom is on the other side of the building, so no direct sunlight.

<comment><USER39> For me, I don't need the sun on my face for it to be easier to get out of bed, outside light works just fine if there is any.

I'm also not sure how many days it would take for my body to adjust to direct sunlight and sleep through it using blankets as blockers.

</comment></comment></comment></comment><comment><USER40> This was a fun read. I don't really 'get' the product, though. Lots of smart lightbulbs already on the market, with wakeup timer features etc. This is one you can pick up and carry around? Is that actually better?

Those pogo pins aren't going to last very long.

<comment><USER41> I think something that characterizes a lot of stereotypical hacker news comments is reductionism of a product to its feature list.

A classic one is on the Dropbox 2007 launch post ([https://news.ycombinator.com/item?id=9224](https://news.ycombinator.com/item?id=9224)).

In retrospect, some product ideas are dumb. Others are good. But because we see this kind of comment so often (really not trying to pick on you!), I wanted to point out that it might be a good habit for lots of people to notice if they are trying to describe a product by its list of features, and maybe think if that is the best way to achieve their goals.

Again, not trying to pick on you in particular, I think that habit is incredibly common for tech people in particular. And there's a lot positive to be said about that style of interaction.

<comment><USER42> _No wireless. Less space than a nomad. Lame._

[https://slashdot.org/story/01/10/23/1816257/apple- releases-i...](https://slashdot.org/story/01/10/23/1816257/apple-releases- ipod)

<comment><USER43> There may never be a better example of "what's compelling to techies isn't necessarily what's compelling to the general public" than that one.

<comment><USER44> Yes, but CmdrTaco never claimed to be stating anything more than his personal opinion of the product. Slashdot wasn't HN, people weren't always making product-market fit predictions and discussing the financial of startups.

<comment><USER45> rise to my defense!

(Also always lost in the mythologizing of this quote is that the first version of the iPod was not good. Mechanical click wheel, mac only, it took them a revision to disprove my statement!)

<comment><USER44> It would be fair to say that misapprehension grinds my gears a bit: [https://hn.algolia.com/?query=cmdrtaco+by:icebraining&type=c...](https://hn.algolia.com/?query=cmdrtaco+by:icebraining&type=comment&dateRange=all) :)

Since I have your attention, thanks for all the good years of Slashdot! Hope you're doing well.

</comment></comment></comment></comment></comment></comment></comment><comment><USER46> Would anyone be able to recommend the opposite of this in terms of a wakeup light? The problem with lots of these bulbs is they aren't very bright and these days I live in a place that doesn't really get lots of natural light.

<comment><USER47> I recently bought the donut-shaped Phillips wake-up light and I really like it, though it is pretty expensive and not as slick as a "new tech" product like this Casper light.

<comment><USER39> My mom got me a Philips wakeup light about ten years ago. If you accidentally turn it on full when your eyes are adjusted to darkness, it's like being in the shade and suddenly getting a big mirror of sunlight beamed into your eyes. (Note that it's obviously not an issue during normal use; the brightness is the whole point and works as intended to simulate light levels of sunup in an otherwise unlit room.) I don't know any other light that gets that bright, so to sibling comments that recommend regular lights, that's definitely not what GP is asking ("lots of these bulbs is they aren't very bright" and that's already talking about wakeup lights, not just any lights).

For me personally, it made it easier to get out of bed, but it didn't make me feel more awake. It lessened the struggle, but I (not a blind test or hard data) feel like it sometimes made me feel less awake all morning. This made me pay more attention to sleeping multiples of 1.5 hours instead of just any amount, which helped a bit, and which I still do today (conversely, I haven't used the light in years, though I was recently thinking about it again).

Overall, I would recommend to try it, but it was pretty expensive so having 14 days (as one does when buying online in the EU) to return it and get your money back is recommendable as well.

Edit: this looks like a second iteration of the model I had: [https://ic.tweakimg.net/ext/i/1289910640.jpeg](https://ic.tweakimg.net/ext/i/1289910640.jpeg)

<comment><USER47> I wanted to start waking up very early to pursue a creative hobby before work rather than after when I'm wiped out from the day.

It actually works really well for me. I feel great in the morning and the rest of the day too. I did not have very healthy hours before, though.

</comment></comment></comment></comment><comment><USER48> Is this an ad?

<comment><USER31> Yea, pretty much. I wonder if the author was paid by Casper or they genuinely gave them free advertising. Knowing about Capser's advertising techniques, I'd guess it was the former.

<comment><USER49> I suspected bolt invests in them, but I don't see them here: [https://bolt.io/portfolio](https://bolt.io/portfolio) ...

</comment></comment></comment><comment><USER50> I've seen that this is not available in the entire EU, I've bought a similar(under some features) product, the Xiaomi Yeelight bedside lamp but the power adapter does a pretty weird buzz sound once the lamp is turned off that I cannot stand.

Does someone knows a similar product that's available in the EU?

<comment><USER51> Could you replace the AC Adapter with something from Amazon? I've bought universal AC Adapters (with various connectors) to replace bad adapters in the past.

<comment><USER50> The thing is that I purchased the "EU" model, I would have done what you've suggested if I had bought the Chinese version.

I'll try to find something on amazon though, it literally ruins my sleep, thanks!

</comment></comment></comment><comment><USER52> We used an iPad with Night Shift to accomplish a similar effect when traveling with our toddler. I wish there were a web app that let you do this in a more customizable way (starting color temp, ending color temp, starting brightness, ending brightness, fade time).

</comment><comment><USER10> A friend of mine runs this company, similar but I think actually better for sleep/circadian rhythms: [https://circadia.health/](https://circadia.health/)

</comment><comment><USER53> I don't trust this company after watching Adam Ruins Everything.

<comment><USER26> Are you referring to this? [https://www.youtube.com/watch?v=rvlA9UxGvSg](https://www.youtube.com/watch?v=rvlA9UxGvSg)

<comment><USER53> Yes

</comment></comment></comment><comment><USER54> This looks really cool! If it becomes possible to integrate with SmartThings, I might even be interested in buying one.

</comment><comment><USER55> I couldn't find it anywhere, and am assuming no, but does anyone know if this has HomeKit support?

<comment><USER56> Not yet it seems

</comment></comment><comment><USER57> Can you throw this thing away? Will it degrade in the landfill without being toxic?

<comment><USER44> No, please don't throw stuff with batteries into the landfill.

</comment></comment><comment><USER58> I am captivated by how they nailed a need of mine: navigating Lego at night.

</comment><comment><USER59> By the way, who wants to sleep close to a strong inductive charging field?

<comment><USER60> Is that a problem?

</comment></comment><comment><USER61> yay, more crap! I'll put it next to my juicero!

Yes, this is probably better designed then the juicero. But its still just more crap.

</comment><comment><USER62> "The light has a lot of delightful, simple little details that belie the amount of engineering behind them."

... A battery. ...

</comment><comment><USER63> $90 for a "smart" lamp, $2600 flip phones, ...

Man if this isn't a symptom of gadget/tech bubble on the verge of bursting I don't know what it is.

<comment><USER64> For some reason I save the boxes of most of my consumer tech gadgets. Looking in the closet where I keep them makes feel sort of sick. At myself.

And yet I want this lamp.

Technology addiction. As a caffeine addict, I've 'gone off' it before, and for three days it's terrible. There is a very physical withdrawal.

With technology, the addiction manifests as a light, ever present anxiety. Both in the use and acquisition of such products.

I don't know where this all goes.

<comment><USER31> What really made me sick was living in an apartment building and seeing the piles of Amazon boxes in the basement/recycling area. General consumption is a problem far worse that CO2 emissions. Our e-waste is destroying water supplies in the African nations it's all shipped to, where kids dig through old products for any salvageable metals and components. Resist the urge to buy useless stuff.

<comment><USER29> Are those Amazon boxes really that wasteful? The alternative is probably people driving to various brick-and-mortar stores to buy these things. How much carbon emission was avoided by having these people buy from Amazon and have it all delivered on one truck?

Amazon doesn't just sell unnecessary trinkets, they sell everything, including everyday items you'd probably buy at Walmart/Target/the mall/etc.</comment></comment></comment></comment>


Ask HN: Still considering Google App Engine? - <AUTHOR>

Are startups/small companies/indie developers still considering app engine? It seems when they meant auto scaling, it included the price as well. <comment><USER2> I am still working on GAE apps. Yes the price is steeper than expected but it suits the stuff I am working on. So, right tools for the right jobs -- and I don't see gae being the wrong tool for everything, yet.

</comment><comment><USER3> I'm not sure I see the cost/benefit in it anymore. It was questionable to begin with and has only become more so.

There is no shortage of good options out there.

</comment><comment><USER4> There is no real need to use app engine anymore.

Just use Heroku with MongoDB for Ruby On Rails deployment. :)

</comment><comment><USER5> i'm porting my apps to heroku, no more app engine.</comment>


A quick tally: Where are you right now? What city and country? - <AUTHOR> <comment><USER2> ASL?

</comment><comment><USER3> Huh?</comment>


12 Steps to Create Your Own Web-Plattform - <AUTHOR> http://blog.mytweetmag.com/index.php/blog/lets-start-up-12-steps-to-your-own-web-plattform/

<comment><USER2> Great advise, but only half of the truth. I am waiting for part 2. The last sentence requires at least the same attention as that what has already been written.</comment>


Preparing for the digital afterlife - <AUTHOR> http://www.guardian.co.uk/technology/2009/sep/30/digital-afterlife-email-facebook

<comment><AUTHOR> _"... Tom was a motorcycle enthusiast, visiting many different countries on his bike and posting pictures of his travels on his blog. He was also a member of Friends Reunited and probably "a myriad of other sites" 0f which Rawling is unaware. She describes his continuing presence on the web as "eerie", and would like some of the information removed."Normally you get in touch with friends and acquaintances and colleagues and let them know what's happened," she says. "That gives you closure and stops you being contacted in future and asked how you both are. But to my knowledge, there's no way of doing that with the web. ..."_

Lots of other problems as well. Paid existing accounts expire, it could also be a way to create new digital identities. A modern day adaption of identity theft used in by the Forsyth character, _"The Jackal"_ ~ <http://en.wikipedia.org/wiki/The_Day_of_the_Jackal></comment>


Vim hall of honour - <AUTHOR> http://www.vim.org/sponsor/hall_of_honour.php <comment><USER2> I'm just gonna take this as a reminder that I'm probably due to drop a few more dollars in the bucket. I've contributed $250 over the 15 years I've been using vim, which puts me comfortably in the hall of honour...but that's still not a lot of money for what is, arguably, the most important piece of software I use. $16.67 per year...that's a bargain.

When I worked in C, I used vim.

When I wrote shell scripts, I used vim.

When I worked in Python, I used vim.

When I came back to using Perl after many years away from it, I used vim.

When I kept notes at conferences, I used vim.

When I wrote my first book, I used vim.

When I built my first (second, third, and dozenth) website, I used vim.

I can think of very few pieces of software that have stuck with me consistently through all those years. Linux, Apache, BIND, bash, the gnu core tools (grep, sed, etc.)...that's pretty much it. Nearly everything else has changed, sometimes several times.

</comment><comment><USER3> It's a nice surprise to see tpope as one of the top donators. What he has contributed to the vim community through his plugins was already worth much more than that IMHO.

<comment><USER4> Agreed, I was surprised as well. I would imagine that the number of people he has helped entice to the vim world exceed his contributions by quite a bit.

<comment><USER5> Not to mention the names of his scripts are the best

</comment></comment></comment><comment><USER6> Note, right now all donations go to a clinic in Uganda since author of Vim has a full-time job and is paid.

</comment><comment><USER7> And.... down.

Google Web Cache:

[https://webcache.googleusercontent.com/search?q=cache:8LEimV...](https://webcache.googleusercontent.com/search?q=cache:8LEimVZjxrgJ:www.vim.org/sponsor/hall_of_honour.php+&cd=1&hl=en&ct=clnk&gl=us)

</comment><comment><USER8> Can someone explain the title?

Quoting in case the overaggressive title changer happens to stop by: Vim is certainly worth more than 100 euro (vim.org)

<comment><USER9> I think the OP is trying to suggest that the lower limit of 100 euro to get into the Hall of Honour is much too low.

</comment></comment><comment><USER10> Let's say VIM didn't exist right now. Could you imagine selling it for 100 euro?

<comment><USER11> Selling.. though point. I was never good at making up prices.

 _Buying_ it for a 100 euros? Yes, in a heartbeat. It's the single most important tool I use.

<comment><USER12> It would have to have fairly long trial period however...

<comment><USER13> Or it should come with a free three-month personal course

<comment><USER14> I read that as "Or it should come with a free three-month personal curse". Which it already does ..

</comment></comment></comment></comment></comment><comment><USER15> Do you guys Vim is as good in non-Unix environments?

<comment><USER16> I use gVim on Windows and MacVim on OSX and while I'm no uber power user, I think they do the job very nicely. I've never really missed much on either platform in terms of capability.

The only thing I'd say is that viEmu for Visual Studio is lacking in several areas, but the access to VS's Intellisense makes up for it. And that's of course not an issue with vim as much as viEmu.

<comment><USER17> Check out VsVim for Visual Studio. It's quite good. [http://visualstudiogallery.msdn.microsoft.com/59ca71b3-a4a3-...](http://visualstudiogallery.msdn.microsoft.com/59ca71b3-a4a3-46ca-8fe1-0e90e3f79329/)

</comment></comment></comment><comment><USER18> Yes, it is worth more than a 100 euro, but you really couldn't use a better title?

</comment><comment><USER19> www.freeonlineapps.com www.freeonlineapps.com is a very generous person.

<comment><USER20> [http://webcache.googleusercontent.com/search?q=cache%3Awww.v...](http://webcache.googleusercontent.com/search?q=cache%3Awww.vim.org%2Faccount%2Fprofile.php%3Fuser_id%3D8235)

If you were curious.

</comment></comment><comment><USER21> > Vim is certainly worth more than 100 euro (original title)

The monetary value of a copy of free / open source software is effectively zero, provided that at least some people are distributing it without restrictions and free of charge such that it is readily available.

<comment><USER22> The original wording was carefully chosen - things can cost less than they are worth.

<comment><USER21> Not if we are talking about monetary worth, which is what 100 euro denotes. Unless I am severely mistaken in my understanding of economics.

<comment><USER23> Look into producer and consumer surplus. In any exchange, you'll tend to find that the value of the items exchanged are worth more to the receiving party than the giving party. It's practically essential to agreeing to a trade.

The consumer surplus is the excess value the buyer receives. Think "I would have paid €5 for that drink right now, but they only charged me €2!"

The producer surplus is how much more someone paid than the producer was willing to sell it for.

The same thing can be worth different amounts to different people. Airlines in particular are good at price discrimination: trying to extract as high a price as possible, capturing the possible consumer surplus. Universities too.

Lots of things get no-haggle prices that ignore this difference between price and value.

<comment><USER21> So you're saying that this person was implying that even though the price is 0 euro, the consumer surplus is greater than 100 euro? I can understand this reasoning, so thanks for explaining it. I'm not sure I believe that consumer surplus can be measured outside of controlled psychology experiments, since it's only speculation and talk is cheap.

I guess I always thought that the value (or worth - these are the same, right?) of something in an efficient market is its last sale price, and because vim is widely available for free it's an efficient market with a last sale price of zero.

I would agree with, "The value / worth you derive from your use of vim is greater than 100 euro, assuming you actively use at least one of your vim installations." But then again you could say something similar about most common free or nearly free tools and consumables, for example cutlery, oxygen, and linux.

<comment><USER23> I think the efficiency of markets is based around marginal costs and benefits, not absolute costs and benefits. The cost of goods are set by looking at the intersection of the people willing and able to supply the good, and the set of people willing to pay for the good. See, for example, <http://en.wikipedia.org/wiki/Supply_and_demand>

But the point is that you've found an equilibrium in the system with the current price, current suppliers, and current customers. There are customers would would have happily paid more. There are people who WOULD have bought the good if it cost less, but it doesn't so they didn't. There are people who are happily supplying it and making mad bank. There are people who are supplying it and making a razor-thin margin. There are people who WOULD supply it if the available price were higher, so they're not supplying it right now. The price is an efficient equilibrium point, but it's not the global arbiter of value.

<comment><USER21> I understand when it comes to something that is normally bought and sold, but I guess it changes for me when it comes to something that is normally given away for free and never sold, except as part of a larger system such as OS X or enterprise Linux.</comment></comment></comment></comment></comment></comment></comment>


Ask HN: What's your AWS deployment workflow? - <AUTHOR> I'm coming to the end of v1 development for a small app built using Postgres, Django, Redis, and React. I have a domain purchased as well. I'm looking for a good tutorial or experiences on deploying this stack to AWS. I'm not really familiar with the suite of AWS products and would definitely appreciate any insight on deployment workflows. I've added Dockerfiles to both the API and client builds and was also wondering how hard it would be to integrate Kubernetes (or when it would make sense to do so). Any help much appreciated! <comment><USER2> I recommend that you use Route53 for DNS management.

If you're interested in running the application with Docker, Fargate can be a good option. You can also run the frontend on CloudFront.

For Redis and Postgres, you should consider RDS and ElastiCache which are managed services.

I would avoid using Kubernetes because it's probably too complex for what you're trying to do.

<comment><AUTHOR> thanks!</comment></comment>


C style for loops in Scala with break and continue - <AUTHOR> http://quoiquilensoit.blogspot.com/2009/10/c-style-for-loops-in-scala-with-break_09.html

<comment><USER2> This is like the Honda-mode built into some late model Ferraris~</comment>


A Eulogy for Objective-C - <AUTHOR> https://realm.io/news/altconf-aaron-hillegass-eulogy-for-objective-c/ <comment><USER2> I really miss the dynamic features of objective c in swift. Writing a JSON mapper or serializer is really simple if you learn the run time.

You can't do that in swift.

Objective C was a compromised version of small talk. And swift is a compromised version of a true modern language.

I'd much prefer a non compromised small talk.It's better for medium size mobile apps.

And until the rest of the libraries are in swift it doesn't feel very different.

It's like you're writing Python but you're forced to use Java libraries and Java style apis.

I hope apple doesn't ram it down our throats. Well their own frameworks depend on its dynamism and In many ways in my limited opinion objective c is better for developer happiness.

<comment><USER3> Yup, ObjC is light and scripty. Whenever you don't like what it's doing you just make it do what you want, categories, cast to id, swizzling, respondsTo, NSSelectorFromString, etc, and when it's too slow you write those functions in C/C++ which it integrates well with.

Swift you're always contorting yourself to express things in a way that the language wants, it reminds me of writing java, it worships far to heavily at the altar of type safety as if type safety was a goal in and of itself.

ObjC is practical, Swift is academic.

<comment><USER4> That seems the opposite, very few things need those dynamic features and those that do can be special cased, which makes Objc the more pure but equally more academic language to me.

<comment><USER5> It's the difference between a language that trusts you not to be a fool, and a language that assumes no one should ever be allowed to use dynamic runtime features.

I've enjoyed my time with Objective-C very much. For consumer coding, I think it's very close to the safety/expressiveness sweet spot.

<comment><USER6> Agreed. When I first started out I never could have guessed it would become my favorite language. Apple did a lot of great things during my tenure writing ObjC - GCD and ARC are probably the best. I couldn't believe how easy it was to write performant code, both for powerful desktops and power-starved mobile devices.

It was the first place (pre-ARC) that I learned to manage my own memory, and the first (pre-GCD) that I learned to be as safe as possible in a multi- threaded environment.

If in fact Swift is the death-knell of Objective-C, I will be sad. I've written C and C++ and Python and Go and Scheme and Lisp and on and on (Java, C#...) and it will remain one of my favorites for years to come.

</comment></comment></comment></comment></comment><comment><USER7> For anyone who isn't familiar, Aaron is one of the most venerable Objective-C programmers out there. He worked at NeXT in the '90s and has been teaching new Objective-C programmers since OS X was released.

</comment><comment><USER8> Can I blissfully go on writing OS X and iOS apps in Objective-C (I spent 15+ years training brain cells in Obj-C)? Aaron H. seems to suggest I can -- Apple isn't just pong to deprecate the entire language one morning in early June I hope. I have learned just enough Swift to read it, but not ready to invest the time to learn it well.

<comment><USER9> You're definitely safe writing your own apps in it for well into the foreseeable future — there's not only way too much app code out there for it to be deprecated soon, but the vast majority of the system and bundled apps are in Objective-C.

I'd expect Objective-C jobs, though, to decline in number over time as Swift jobs rise. If you're doing it professionally, not learning Swift is going to increasingly limit your options, perhaps pretty rapidly — a few months ago, I got turned down for a job in part because of lack of Swift experience. Ended up landing a different job where we're writing a Swift app and step 1 for everyone on the team was "learn Swift".

<comment><USER10> However, as those Objective-C jobs decline their pay-scale will probably increase as companies desperately attempt to find someone to maintain their legacy apps.

<comment><USER11> Not too improbable. I can still remember hand-wringing search quests for COBOL programmers.

</comment></comment></comment></comment><comment><USER11> ObjC is far from dead for me. And it will take Swift a long time (if ever) to deliver what ObjC can do.

Swift is not completely bad per se, but it's far from being as approachable as C. In C, you only need to read all the header files, then you "know everything". In Swift, there aren't even any files with declarations you _could_ read. But then, a completely obscure language seems like a perfect fit for a walled garden.

</comment><comment><USER12> FYI for those who prefer to watch videos at faster speeds.

Instead of realm.io, I went to the youtube url instead:

[https://www.youtube.com/watch?v=2s7UR- rNFss](https://www.youtube.com/watch?v=2s7UR-rNFss)

The notes say: _" THIS VIDEO IS NOT MEANT TO BE WATCHED ON ITS OWN. We went to great pains to synchronize it with the speaker's slides,"_

Well, the embedded youtube at realm.io only allows speed of 1.5x.

The direct youtube url has the speed option for 2x, so I watched it there. However, before I saw it, I spent a few seconds to flip through the slides to get an idea of what Aaron was speaking to.

<comment><USER13> It's pretty nice though, having the slides synchronised to the video. And on realm.io, below the video, there's a transcript with linked resources :)

<comment><USER12> The text below was simply _excerpts_ instead of the full transcript. The incomplete excerpts looked like snippets of context to guide people to the middle parts of the video. You actually had to watch/listen to the video to get the full text.

For example, at the beginning, he says the word "tricycle" and when I searched for that word, it wasn't in the text below. That's when I knew it wasn't a full transcript.

<comment><USER14> True. We edit the transcript on purpose to make it more useful to people who want to read it instead of watching the video. If you're looking for a full word-for-word transcript, we have that through the subtitles available in the video. We iterated towards this model after a lot of trial & error but we're still looking for feedback on what people would prefer to see!

</comment></comment></comment></comment><comment><USER15> The developments that Facebook is working on with React Native are just so much more exciting than another riff on C++. For most "utility" apps, I just don't think performance is such an issue that the point of research should be these (comparably) incredibly low level concerns.

When I see the bugs going on in iOS apps, it has to do with models that are broken for what modern programs looks like today: things like asynchronicity. Animation is still a mess to wrap your mind around when you have a series of asynchronous events (animations, loads, what have you) that are tied together, but can also be canceled half way through. This is why I can still break many apps by just tapping all over the place (or clicking all over the place: [http://tolmasky.com/letmeshowyou/Yosemite/Safari%20Animation...](http://tolmasky.com/letmeshowyou/Yosemite/Safari%20Animation.mov) ).

Combining the determinism of React style immediate mode drawing with JS async/await is truly exciting for app development.

Now, of course the elephant in the room is that neither of these matter that much when most the apps being written are games that will continue using C++ or Unity (if you _actually_ care about speed these are your best bet). Especially with the work Apple is doing with Metal that will improve these platforms as well.

<comment><USER16> >I just don't think performance is such an issue that the point of research should be these (comparably) incredibly low level concerns.

Yes. Performance maybe not. But power efficiency is. If your mobile app is bloated and takes more resources than needed to perform its task then you're wasting the user's battery.

</comment></comment><comment><USER17> Objective C: All the blazing speed of Smalltalk with the memory safety of C.

</comment><comment><USER18> I learned Objective-C from Aaron Hillegass's book many years ago. Pretty funny to hear from someone who still loves the language.

</comment><comment><USER19> No language is perfect. If a language is not grounded to solve concrete problems, then we just end up with a new c++.

"Swift is not the ultimate language, it's not flawless, it is compromised because of Objective-C interoperability."

</comment><comment><USER3> Read the eulogy when the base libraries are Swift...

When swift code that interacts with the base libraries is faster, and when swift code compiles faster.

Swift so far is a language that over promises and under delivers...

<comment><USER20> Yeah... I'm pretty certain the only code in iOS 9 that is written in Swift is the Calculator app, which was also the first app I remember Apple shipping that actually used their public version of UIKit; until iOS 4, when Apple dogfooding their library finally made UIKit "good", Apple was still using the as-yet-much-better private UIKit they had written for iOS 1 that shared very little... it even had its own UIScrollView called UIScroller and its own UITableView called UITable. While I'm sure the language keeps getting better as people provide feedback, the product isn't going to move past that "omg this is amazing" threshold until Apple dogfoods it, and until then Apple is just using everyone as guinea pigs ;P.

FWIW, I think Apple _can 't_ ship any base libraries that uses Swift until they finish ABI-compatibility, as they need to be working off the same base Swift runtime as the apps that would run against those libraries. Given that for the last year people have been shipping apps that link against an old-and- incompatible Swift runtime that Xcode bundles into your app, and given how the runtime is "intrusive" (putting stuff into the global Objective-C namespace, for example), it isn't even clear yet (so this may require more time on their end to build out more infrastructure) how they will be able to pull that off without saying "all Swift apps developed before now need to be reshipped or they will stop working on iOS 10".

<comment><USER21> Oh goodness. Having written some small apps in both Objective-C and Swift, I'm not even sure which language I should jump back into when I want to pick it up again.

<comment><USER22> Objective C, it has a more clear path at the moment.

<comment><USER23> What does that even mean?

<comment><USER22> Objective C has been around since the 1980s, it has a long history with NeXT and Apple thus is very mature. Code you write in Objective C now can reasonably be expected to stay very similar going forward. Swift however is still very much in the wind where you run into "well this language feature has not been implemented yet" and with each version that is released your code needs to be migrated or changed to accommodate the changes in the language. The path forward is clear with Objective C vs Swift where you just don't know if some of the issues will even be addressed. I've been writing Objective C since 2007 and Swift since shortly after it was released. Swift still has a long way to go before I would use it as the starting language for a new app that I expected to have users / maintain.

<comment><USER23> Swift is moving fast as you say, and is clearly receiving Apple's favor and attention. Any app that you start with objective-c today will end up with a legacy codebase in the next couple of years.

</comment></comment></comment></comment></comment></comment></comment><comment><USER24> If I didn't have so much code in objective-c - I'd welcome the passing. Until then - I've built a project to migrate objective-c code > swift en masse. check out [http://objc2swift.io](http://objc2swift.io) for hockeyapp download.

</comment><comment><USER25> Awsome speach! When Apple dumped Objective-C in WebObject we at OOPS printed a TShirt that we showed the crouds at WWDC. I can only repeat now what it read. [objC retain] Kerusan, OOPS, Sweden

</comment><comment><USER26> One question. Why IOKit was not written in ObjC?

<comment><USER27> ObjC has a pretty beefy (and therefore somewhat slow) runtime which is an issue for kernel stuff.

<comment><USER28> Or explaining this better:

The objects of ObjC work very differently than C++ objects.

In Obj-C for example, there are no "methods" like C++, in C++ when you put a method in a class, (although implementation details may vary) it works like a function pointer in a C struct, and calling that method is just executing whatever code that pointer points to.

In Obj-C in contrast, to call a function of a class, you actually pass a message, that first must be interpreted, then the runtime that interpreted the message find the correct function definition to use and run.

For most apps people don't care about this, but game developers for example frequently make iOS and Mac games that in time-critical parts use pure C or even Obj-C++ so that they can skip this messaging part (that can cause significant performance problems sometimes).

Example: yesterday I was trying to figure why a open source game I like was slowing down, I ran a profiler, and the most called function, and the one with most execution time, was a simple "GetSomeRandomVar()" for spaceships (it is a spacefight battle game), I looked in the source, and saw that every frame, every spaceship call this at least once for every other spaceship, if the spaceship has an AI it calls it many, many times, I inlined it and the code became much faster.

I am very sure that if it was a ObjC call (with messaging) it would be so slow that the original author probably would not even have uploaded that to github. (by the way, the game IS an OSX game, but the original author wisely decided to go with C++ instead of ObjC)

<comment><USER7> I think putting it that way exaggerates the differences a bit. The message doesn't really have to be "interpreted" in any meaningful way AFAIK. A message consists of a selector (essentially a method name) and a receiver, then whatever other arguments the method will take. The runtime looks up the selector in the receiver's method table, much like with C++ virtual methods, and then jumps to the implementation it finds. There is a _little_ more fanciness (some method caching, and support for nil receivers), but I don't feel like it's hugely dissimilar from virtual methods.

For anyone interested, here's a good analysis of Objective-C's message dispatch machinery: [http://blog.zhengdong.me/2013/07/18/a-look-under-the- hood-of...](http://blog.zhengdong.me/2013/07/18/a-look-under-the-hood-of-objc- msgsend)

<comment><USER29> The vtable is a flat structure with known layout in C++. In Objective-C, it's a hash table (with precomputed hashes and lots of other tricks—but it's still fundamentally a hash table). There's a big difference between the two.

<comment><USER7> There's a big difference between the data structures, yes, but the basic logic for message sends is still pretty similar. They both boil down to a simple lookup in a data structure and a jump. Would you really characterize the difference between a vtable and a hash table as "you actually pass a message, that first must be interpreted" in the case of a hash table?

<comment><USER3> I think the biggest issue is that in a vtable you jump directly to the method by index, and with objc_msgsend it looks up a string in a hash table.

Mostly the difference is ints vs. strings in my opinion.

As well in C++ if you don't mark your method virtual you can bypass all the vtable crap.

I love ObjC but method resolution is far more expensive than in C++, especially non-virtual methods.

<comment><USER30> Method selectors in Obj-C don't have to be strings, as long as you can turn a string into one occasionally.

You do still need to do a hash lookup to get the method implementation, since the selector table changes at runtime and objects have to safely respond to unhandled selectors and all that.

<comment><USER3> I meant string as in char* not NSString, selectors specifically the SEL datatype are strings

They certainly don't have to be, however, they are.

        SEL selector = @selector(applicationDidBecomeActive:);
        printf("%s",(char*)(void*)selector);
        // Prints applicationDidBecomeActive:

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER31> Blaine Guest? Typo?

<comment><USER32> Yeah, I noticed that too. I told them and they fixed that typo.</comment></comment>


Let Me Jira That For You - <AUTHOR> https://github.com/dreur/lmjtfy

<comment><USER2> For fun, Let Me Jira That For You! - For your lazy coworkers that did not search Jira before bugging you, Redirects to your Intranet Jira!

[http://lmjtfy.github.bboudreau.ca/?s=Let+Me+Jira+That+For+Yo...](http://lmjtfy.github.bboudreau.ca/?s=Let+Me+Jira+That+For+You)</comment>