Fully Functional 1KB Hard Drive in Vanilla Minecraft - <AUTHOR> http://imgur.com/a/NJBuH <comment><USER3> In recent versions of MC, you can do a much better delay line memory with comparators. You can actually end up being able to store 2b / block (2 and not 4 because comparators have to be placed on something not a comparator.) - <USER2> would be half that but there's a trick you can play to avoid requiring redstone dust between comparators.

The delay is faster too - 1 redstone tick / 4 bits, or 40 bits/sec per line, as opposed to this implementation's 1 bit / 8 redstone ticks / line, or 1.25 bits / sec / line. (Note that this implementation of piston tape is decidedly suboptimal: the maximum is actually 3 bits / 4 redstone ticks / line = 7.5 bits/sec/line, as you can actually check for 8 different block types (glass / solid / sticky/non-sticky piston facing 3 directions) and you can make a faster-resetting piston loop.)

The biggest issue with comparator delay-line memory is that there's no way of pausing it.

There's also a way of storing arbitrary amounts of data per block, and that's to use the fact that items with NBT data will stack only when their NBT data is identical. The easiest way to see this is to try to stack renamed items, but there are others. You can make a hopper or dropper chain and encode data in which line which enchanted item is in.

I have yet to see a practical implementation of the above, though.

<comment><USER4> A comparator memory isn't really a hard drive, because it loses its data if turned off.

<comment><USER3> Define "turned off". A comparator loop persists just fine without any input, just like a piston loop.

It's non-volatile sequential access memory - which, in my opinion, is the same category a hard drive falls under.

<comment><USER5> I'm not sure that delay lines will retain data when the chucks that hold them are unloaded by the server.

<comment><USER3> Yep, they do.

Repeater delay lines used to not, but that bug was fixed.

</comment></comment></comment></comment></comment><comment><USER6> This is a good opportunity to plug ORE, a Minecraft community specifically for this kind of thing:

[http://openredstone.org/](http://openredstone.org/)

That video on their main page is mind-boggling to me.

I have a friend who's a regular on that server, and he would occasionally explain to me things like how they take advantage of how Minecraft's redstone handling works to shave precious ticks off the latest ALU design's return time, or how they created a fully vanilla-compatible "internet," to pass data through wires between different people's machines.

They've got mods set up to copy and paste blocks, so you can build modular systems out of components and avoid repetitive block-placing, but AFAIK, everything else is vanilla. It's incredible.

<comment><USER7> I have to ask: Has anybody managed to mine Bitcoin in Minecraft yet?

<comment><USER8> Interesting fact: If ENIAC was tasked with calculating the current Bitcoin hashrate, it would have to mass as much as the world's oceans and would require an earth's surface worth of solar panels to power it.

</comment></comment></comment><comment><USER9> For people interested in how computers work, I recommend the book/course "From NAND to Tetris - Building a Modern Computer From First Principles"[1]. It starts of with boolean logic and NAND gates, and it steps you through making a computer that can play tetris.

[1] [http://www.nand2tetris.org/](http://www.nand2tetris.org/)

<comment><USER10> I haven't read that one, but I'll definitely check it out. I'd also recommend Charles Petzold's book called "Code". One of the best technical books I've ever read!

[http://www.amazon.com/Code-Language-Computer-Hardware- Softwa...](http://www.amazon.com/Code-Language-Computer-Hardware- Software/dp/0735611319)

<comment><USER11> Besides "Code," I highly recommend "The Pattern on the Stone" by Danny Hillis, who also happens to be the designer of Thinking Machines' massively parallel supercomputer, the Connection Machine. It covers more material than Code in a lot less time.

In "Code," Petzold makes sure to cover the material exteremely slowly so that you won't miss any details, so it may get boring for some, but I would also read Code if you have the time and interest.

</comment></comment></comment><comment><USER12> My nephew and his friends are 8-9 years old, and they're masters at building this stuff. The redstone, the logic, the machines, all of it. It's all they think about, all the time. Imagine what potential this early compsci education is fostering?

We just have to remind them when they're older and are running things and building amazing stuff that it's NOT OK to blow up other people's stuff with tnt.

<comment> shawn-butler Pretty much none.

I've never understood why people think gaming or play ever forms the justification or basis for learning. Decade of nonsensical "gamification" studies has had zero effect no matter what Jane McGonigal says.

Might get an interest or passion going but it has near-zero lasting educational value.

<comment><USER13> There's zero educational value in designing and building digital circuits by hand? What?

<comment> shawn-butler Not zero. Near zero.

[http://en.wikipedia.org/wiki/Overjustification_effect](http://en.wikipedia.org/wiki/Overjustification_effect) for a summary

And quit downvoting.

<comment><USER14> I think there's a difference between "gamification", i.e. doing tasks for currency, points or prizes, and "video gaming", i.e. creating a circuit so that your house door in Minecraft opens with a switch.

</comment></comment></comment></comment></comment><comment><USER15> Game of life simulating itself.

[https://www.youtube.com/watch?v=xP5-iIeKXE8](https://www.youtube.com/watch?v=xP5-iIeKXE8)

[http://www.conwaylife.com/wiki/OTCA_metapixel](http://www.conwaylife.com/wiki/OTCA_metapixel)

Minecraft in Minecraft

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

<comment><USER16> The game of life simulation is definitely ready for another layer of meta, GOL simulating GOL simulating GOL...

<comment><USER15> A period of a single cell would take 35328^2 periods and (2048*2048)^2 cells of the most underlying game of life simulation.

<comment><USER17> A Life acceleration algorithm would help with that, but each cell would still require 4Tb of storage (though that storage could be shared by all cells, II think).

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

<comment><USER15> And there is not real purpose since the rules are the same for every level. Making them different and more complex would be interesting.

</comment></comment></comment></comment></comment><comment><USER18> This will not work as described. I think his design is a good idea, but still does not work.

I build a better harddrive (with 4 kb storage!) over a year ago, imgur link will follow.

Now to the design problem in this HDD: see that all the blocks are blue in the platter? No way to swap each of the bits without magically creating new green blocks. My hdd solves that problem by having BOTH block types available on the platter. But see for yourself:

[http://imgur.com/a/8ESMW](http://imgur.com/a/8ESMW)

<comment><USER19> How confident are you?

I know very little about Minecraft, but if this doesn't work, it pretty much has to be trolling. (No way you build something like this and _not notice_ that it doesn't work.) And then I wouldn't expect them to offer a link to download the map, and I wouldn't expect someone else to say they've got it working: [http://www.reddit.com/r/Minecraft/comments/2e0ghk/fully_func...](http://www.reddit.com/r/Minecraft/comments/2e0ghk/fully_functional_1kb_hard_drive_in_vanilla/cjuuhy6)

<comment><USER18> Imagine a write process: You'd need to somehow replace the visible blue blocks with a green block. But where does the green block come from?

<comment><USER20> I don't know much about MC or computers, but as far as I understand each bit has both blocks, shift up for blue=0, shift down for green=1. Here: [http://i.imgur.com/rqZm4DU.gif](http://i.imgur.com/rqZm4DU.gif)

<comment><USER18> Yes, but you don't see BOTH block types on the big tape. Swapping bits requires one block for each state, but the green ones are missing from the tape screenshots.

<comment><USER20> I don't think that they have to necessarily be green. So the fact that you don't see them may not mean that they are not there. He may be using blocks the same color as the structure for aesthetic purposes.

</comment></comment></comment></comment></comment></comment><comment><USER21> This concept is known as a delay line memory, although this particular implementation doesn't need any refresh, like a chain of shift registers: [http://en.wikipedia.org/wiki/Delay_line_memory](http://en.wikipedia.org/wiki/Delay_line_memory)

</comment><comment><USER22> Reminds me of [http://xkcd.com/505/](http://xkcd.com/505/) "A Bunch Of Rocks"

Although: no need for someone immortal with infinite time and energy to run the simulation, rather lots of people each devoting a small amount of both to it...

</comment><comment><USER23> This is really cool. I really like Minecraft computer components, but I could never help to think that if the guys who build them, started playing with something practical, the results might be more tangible.

<comment><USER24> Think of it more like a better UI on top of EE307 or whatever your local equivalent is for low-level hardware design. I had to scratchbuild a functional CPU using nothing but NAND gates to pass mine. I got through it, somehow, producing a CPU which would run minimal assembly-esque programs but which existed on no physical hardware and wouldn't be for for any purpose if it did. If you can do it with red stone I think any rational person would say you have all the knowledge my class tried to impart.

<comment><USER25> It's the old Church-Turing thesis in a way; instead of using logic gates implemented with silicon transisters, they're using physical blocks and switches in minecraft. The principals are the same, just a different 'substrate'. DNA can be used as a computing substrate[1], and at a more macro level, the structure of cells[2]. The minecraft guys have a lot more in common with the early computer engineers who used relay switches and diodes on rotating drums.

[1] [http://en.wikipedia.org/wiki/DNA_computing](http://en.wikipedia.org/wiki/DNA_computing) [2] [http://en.wikipedia.org/wiki/P_system](http://en.wikipedia.org/wiki/P_system)

</comment></comment></comment><comment><USER26> Someone needs to make a FUSE driver that patches into this with a mod for Minecraft.

</comment><comment><USER27> Interesting, maybe a bit more like bubble memory than a hard drive.

</comment><comment><USER28> Reminds me of when someone built a scientific calculator in minecraft:

[http://kotaku.com/5895191/someone-built-a-working- scientific...](http://kotaku.com/5895191/someone-built-a-working-scientific- calculator-in-minecraft)

</comment><comment><USER29> I always wonder when I see these things, are players placing each block individually? Or are they mapped out in some file and fed to the server to render?

<comment><USER30> I imagine they use programs like MCEdit.

You'd create parts of the hardware in Minecraft, then use MCEdit to copy and paste those parts.

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

</comment></comment><comment><USER31> Even if this has no practical reason to exist, it makes me happy to know that it does. The world is a better place for it.

</comment><comment><USER32> The control room actually kind of reminds me of the control rooms for old computers in the 1950's.

[http://upload.wikimedia.org/wikipedia/commons/4/4e/Eniac.jpg](http://upload.wikimedia.org/wikipedia/commons/4/4e/Eniac.jpg)

[http://en.wikipedia.org/wiki/ENIAC](http://en.wikipedia.org/wiki/ENIAC)

</comment><comment><USER33> If you like to play with logic stuff, this is something to try out: [http://www.neuroproductions.be/logic- lab/](http://www.neuroproductions.be/logic-lab/) It's simple, but does it job pretty visually.

<comment><USER34> Really nice, however I there is some buggy behavior in this logic simulation: It can end up in an inconsistent state:

I have a little Robot Odyssey experience where it would loop forever between inconsistent states. However that design is not perfect either, it's still much better than this in my opinion.

The interface is quite nice though.

</comment></comment><comment><USER35> What Minecraft could really use would be a scripting capability of some sort. Basically, once you've figured out how to do something, you should be able to build a machine that does it for you. That would be a pretty sweet game.

<comment><USER36> > _What Minecraft could really use would be a scripting capability of some > sort._

Minetest [0] has some scripting ability, utilising Lua.

[0] [http://minetest.net/](http://minetest.net/)

</comment></comment><comment><USER37> What minecraft needs is a way to speed up the game. There have been quite a few people who have made calculators and "electronic" components, which would be a lot more cooler if they could work faster.

</comment><comment><USER38> If he can shorten the duration of the redstone signals to be very small pulses, he'd have a 'flash' drive!

/Working with PCIe flash memory products, so getting a kick..etc..

//Sorry

</comment><comment><USER39> What type of circuits are technically possible to build in Minecraft? Could one build a basic CPU with RAM, HDD, and BUS? What is the limit of what one could build?

<comment><USER40> Here is a 16-bit ALU: [https://www.youtube.com/watch?v=LGkkyKZVzug](https://www.youtube.com/watch?v=LGkkyKZVzug)

<comment><USER39> Wow impressive. Looking at that I found this video which shows a full computer implementation in Minecraft, capable of 32bit graphics and has a basic instruction set and could be programmed with a high level language. WTF!? Is it real? [https://www.youtube.com/watch?v=go5qdMKZs-M](https://www.youtube.com/watch?v=go5qdMKZs-M) here's more info about it. [http://www.minecraftforum.net/forums/minecraft- discussion/re...](http://www.minecraftforum.net/forums/minecraft- discussion/redstone-discussion-and/redstone- creations/351957-commandore-32-advanced-command-block-based)

</comment></comment></comment><comment><USER41> At what point will Minecraft come out of the closet and proudly claim to be the largest computing principles MOOC ?

</comment><comment><USER42> I'm a Minecraft modder and while mods are really exciting, sometimes the vanilla stuff is where it's at.

Awesome job.

<comment><USER43> Command blocks also bring a whole new level to that.

There is vanilla and then there is vanilla with command blocks.

They are getting closer and closer to modding and are almost like an in-game programming language.

For example, here [1] is a command block command that procedurally generates giant oak trees [2].

[1] [http://pastebin.com/raw.php?i=QzS0M4Vn](http://pastebin.com/raw.php?i=QzS0M4Vn)

[2] [https://youtu.be/6cJL4lM7KR4](https://youtu.be/6cJL4lM7KR4)

</comment></comment><comment><USER44> You might also like this clock built in Minecraft to (theoretically) outlast the heat-death of the universe:

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

</comment><comment><USER45> It hit me on a walk last night: What this needs to be truly complete, more than more KBs or other computer components (like the competing HN article), is _the click-of-death_ when it dies of old age!

</comment><comment><USER46> Reminds me of this 8-bit CPU[0] built in minecraft

[0] [http://www.youtube.com/watch?v=yxAmphwLPDY](http://www.youtube.com/watch?v=yxAmphwLPDY)

</comment><comment><USER47> Cool, makes me want to start tinkering with Minecraft, but can't really afford anymore time sinks in my life. Still its amazing what people can do with it.

</comment><comment><USER48> Can someone tell me what's more difficult to create? This hard drive or the scientific calculator that someone else also created in minecraft?

</comment><comment><USER49> I hope the author joins forces with the guy who built a programmable computer in MC.

</comment><comment><USER50> This is clearly a memory, not a hard drive. Kind of expect better from HN...

<comment><USER51> It's a hard drive. The storage is persistent. Assuming your argument is that the world the device is constructed in isn't guaranteed to be persistent, then that renders physical hard drives in our physical world as non-persistent; let's see how persistent our data is when Sol goes red giant... ;-)

<comment><USER50> What does persistency have to do with whether it's a memory or a hard drive? There are plenty of persistent memories.

<comment><USER52> jeremycole is correct, its closest real world analogy is a bubble memory or the short lived fad of using CCDs as a large linear memory (that went nowhere around the mid 80s) or most accurately its compared to an ancient mercury delay line (although Hg delay lines and CCDs are/were not persistent but their mechanical operation is similar)

There was a fad of endless loop tapes in the 80s... Exatron stringy-floppy. That is probably the closest physical analogy. Think "cassette tape interface" with electrically controllable R/W on an answering machine cassette, all conceptually of course this isn't how it actually worked. It had nothing to do with a floppy other than storing about the same amount of data, very java vs javascript like.

[http://en.wikipedia.org/wiki/Exatron_Stringy_Floppy](http://en.wikipedia.org/wiki/Exatron_Stringy_Floppy)

<comment><USER51> Hmmm. I stand corrected. :-) Thanks people. :-)

</comment></comment></comment></comment></comment><comment><USER53> www.westeroscraft.com

</comment><comment><USER54> And people say video games are a waste of time.

</comment><comment><USER55> for god sake, get a job people

</comment><comment><USER56> Hm, add CPU and we can play chess :-)</comment>


Ask HN: Is there any WINE like software for running OS X software on Linux? - <AUTHOR> Why or why not? Is it simply impossible to build? <comment><USER2> Yes - The Darling project is exactly this:

[http://www.darlinghq.org/](http://www.darlinghq.org/)

[https://github.com/darlinghq/](https://github.com/darlinghq/)

There's a lot of info on the website about the challenges. There aren't many people working on it, so any help would be appreciated.

</comment><comment><USER3> There's the old PearPC project:

[https://www.emaculation.com/doku.php/pearpc](https://www.emaculation.com/doku.php/pearpc)

"PearPC emulates a PPC Macintosh inside of Windows and Linux. It emulates a machine capable of running OS X versions up 10.1 to 10.4 (Tiger). PearPC does not emulate a Machine capable of running OS X 10.5 (Leopard) or greater. The emulated machine can also run Darwin and Linux."

See also [https://github.com/sebastianbiallas/pearpc](https://github.com/sebastianbiallas/pearpc) and [http://www.windowsdevcenter.com/pub/a/windows/2005/01/18/Pea...](http://www.windowsdevcenter.com/pub/a/windows/2005/01/18/PearPC.html) .

</comment><comment><USER4> I'm sure it's technically feasible, but it's very labor intensive, there is very little demand (as far as I can tell), and there is a very high risk of a lawsuit.

</comment><comment><USER5> Last time I checked, it was possible to boot macOS in VirtualBox.

What macOS-exclusive apps would be worth running in your opinion? The only one that I use is Photos, and maybe Pixelmator. So it'd probably be quicker just to write completely new software, which is what seems to happen.

Also, Apple has a nasty habit of breaking things between macOS versions and messing with APIs. Maintaining a compat layer would be horrible.

<comment><USER6> The only piece of Apple software I can't live without is XCode, to make iOS builds of my Unity3D apps.

<comment><USER5> Right. VirtualBox + overnight compiles might work (perf is going to suck). There exist cloud macOS offerings which work well, I've used them for iOS continuous integration. Depending on how much money those apps are making, could also be an option?

<comment><USER7> Travis CI is free for OSS projects and offers a pretty cool iOS build option: [https://docs.travis-ci.com/user/languages/objective-c/](https://docs.travis- ci.com/user/languages/objective-c/)

</comment></comment></comment></comment><comment><USER8> Wine is an absolutely amazing piece of software that's easy to take for granted. There is a large library of software exclusive to Windows so there are enough people motivated to build it. There isn't a whole lot of software exclusive to Mac OS X so it's much more difficult to get enough people together to run such a project.

</comment><comment><USER9> If there was, Apple might sue them for it.

So far there are GNUStep and Darling but they are not ready for prime time.

You can buy an old MacBook for $99 That can run an old MacOSX on it like 10.7 or under but it would only be a Core 2 Duo, but would use Boot camp to run Linux.

</comment><comment><USER10> I ran OS X under vmware for some time. It worked well on my box.

However, I failed to find any Mac applications that were sufficiently compelling.

So I ended up deleting the OS X disk image.

</comment><comment><USER11> You could try porting your code to GNUstep.

[http://gnustep.org/](http://gnustep.org/)

</comment><comment><USER12> darling? [https://www.darlinghq.org/](https://www.darlinghq.org/)</comment>


School Children Don't Spread Coronavirus, French Study Shows - <AUTHOR> https://www.bloomberg.com/news/articles/2020-06-23/school-children-don-t-spread-coronavirus-french-study-shows <comment><USER2> > Epidemiologist Arnaud Fontanet and colleagues said more studies on schools > were needed because of the small number of cases they were able to study. > They found that an estimated 41% of the children infected showed no > symptoms, compared with about 10% of adults.

How did they get 41% when they only had three active cases? Maybe there were more and they only found three that didn't spread? How does that support this conclusion? This article is kind of hard to understand.

<comment><USER3> This was suspected since March in various case studies, but the number of cases has always been extremely low.

1\. You don't just find any children infecting adults.

2\. You'll have a hard time separating the infections between adults to prove that. There's always an infected adult involved who could have been the spreader.

There was a good French case study in a remote alpine village where the infected children infected nobody for weeks, in Iceland they did excellent genetic contact tracing, and in the German Heinsfeld study there were also several infected children not infecting their parents for weeks.</comment></comment>


The winner in mixed reality will be  Snapchat - <AUTHOR> https://backchannel.com/the-dark-horse-of-augmented-reality-cdd663e5d902#.3myz1wf09 <comment><USER2> I'm not sure if they publicly acknowledge it, but I wouldn't doubt Snapchat is collecting data from use of lenses and using it to develop some amazing facial recognition/augmented reality software.

I think the fact that they have a job listing up for a "3D Computer Vision Engineer" is telling; they definitely don't see this technology as a sideshow.

[https://boards.greenhouse.io/snapchat/jobs/118167](https://boards.greenhouse.io/snapchat/jobs/118167)</comment>


Show HN: Log Aggregation using Logrange. Use it in k8s or standalone - <AUTHOR> https://www.logrange.io/blog/v0_1_0-release.html <comment><USER2> Some quick questions, let's say I have ~500 instances of VM with my services deployed there produce ~500 MiB of log data per hour per VM instance. Can this amount of data be managed by Logrange? What would be a typical environment on AWS/GCP for that type of load for Logrange? What would cpu/memory load be on my nodes from the log collector which shall be deployed there?

<comment><AUTHOR> It is about 250GiB/hour of data, what is ~70MiB/second. I would say it is not a big deal for writing, cause one instance with SSD drive allows to write hundreds of megabytes per second.

> Can this amount of data be managed by Logrange? Yes.

> What would be a typical environment on AWS/GCP for that type of load for > Logrange? Logrange could be deployed into cloud, on-premises, k8s, > standalone etc. There is no special requirements where it is deployed. > Considering the resource consumption for the example I would say having 2 > CPU instance with 8 gig of RAM (for FS buffers in most), and the disk big > enough for storing the traffic. Logrange itself adds a very little overhead > to the resource consumption.

> What would cpu/memory load be on my nodes from the log collector which shall > be deployed there? Not too much. On the nodes, I presume it is within a 1% > CPU on the nodes and may be 10-30% of CPU on the database itself for writing > the traffic.

</comment></comment><comment><USER3> Very interesting. I got your point that full text index is not required for logs. But it's presented as "streaming database " and word "database " kind of implies some indexing, isn't it? For common use case, we might need to search some words or phrases in logs for long time back, like few months.

<comment><AUTHOR> The point is full text indexing could be required, but not at the moment when the data is persisted. Logrange groups data by tags, what is already type of a sparse indexing. Also, if records have time-stamps, like records of an application log, Logrange will use the time index for making requests.

When data is persisted and stored into partition (an analogue of database table), an external index could be built for accessing this data as well.

Even having the terabytes of data from multiple applications in one database, the full text index could be not needed for the rare requests like search of a phrase. The query usually narrows the sub set of the data which should be considered, by tags and the time window where the text is looked for.

<comment><USER3> Ok, but let's consider example. Say, I'm looking for logs related to PayPal payments in my system. And I need to search logs for 'PayPal', or on example 'PayPal withdraw', or 'PayPal refund', including cases with regexes.

<comment><USER4> What is the question?

<comment><USER3> If I need to run this query once in a while, is response time satisfiable? I want to see some lines right away and probably get some count of matches for few months back. I don't expect it instantly, but in timely manner.

<comment><USER4> It depends on:

1\. how you form your query, i.e. if you can narrow down your search to a particular partition(s); 2\. amount of data you have in the partition(s) you're performing your search against;

As an example, let's say you want to look for errors in your Nginx servers you can write something like: SELECT FROM server=nginx WHERE msg constains "error"

This query would do exactly 2 steps described above, i.e. it will narrow down the search to a partition(s) where nginx logs are stored, then perform your search/filter against that data only. The response would take several seconds if the partition is about couple gigabytes (and the disk is SSD).

But I would say that for Logrange this is not the primary use case, i.e. to run single user queries here and there on the raw collected data. Logrange primary use case is to store everything in one place, be effecient, reliable and fast in this task and later build some process on top of the collected data which will allow effectively process user queries in accordance with the specifics of user's domain.

<comment><USER3> Good! Say if my nginx log is huge, is there such a thing like automatic partitioning? By timestamp, most naturally. And each partition can run search request in parallel, I assume.

<comment><AUTHOR> Partition in Logrange consists of chunks, that, in general, can be distributed across multiple storages. When a query is executed it runs against one or multiple chunks (what may be done in parallel). If your nginx log is huge it will not be longer than to run against a chunk. So as bigger your partition is less correlation between query execution time and your data size.

If your data is a set of time-series, time-index could be involved what will speed up execution of your query dramatically.</comment></comment></comment></comment></comment></comment></comment></comment>


Apple, wtf is wrong with you? - <AUTHOR> http://daniel.morrione.net/2013/03/20/apple-wtf/ <comment><USER3> "I've been struggling with my baby, a mid-2010 27″ iMac for months now. She's been unstable for better than a year now, and it keeps getting worse. After a few minutes, or hours the screen gets corrupted. Little discolored squares appear and flicker and dance, eventually she hard locks. I have been meaning to take her to Apple but honestly… dragging an iMac through South Coast Plaza to the Apple store is a fucking miserable proposition, so I've been putting it off."

Your fault.

My daily machine is a mid-2011 MacBook Air and it works like a dream.

My old machine was a late-2007 MacBook Pro. It's logic board started acting up about a year after I bought it. I didn't buy AppleCare. Apple fixed it out of warranty at no cost to me.

Take it in. Apple will most likely fix it. Most likely at no cost to you. The machine has been acting up for a year. You chose to write a whiny blog post rather than take the machine in. That's your fault.

<comment><USER4> > logic board

I'm not an apple user so I had to google what that means. Apparently it is a synonym for mainboard and it seems to be mainly used for apple computers. Is there a reason to use "logic board" instead of "mainboard"?

<comment><USER5> Probably the normal Apple marketing reason: make the things they use seem unique, and also trademarkable.

For instance, you can only get Apple-equipment with "Retina-display". Ofcourse you get higher DPI displays from a lot of vendors, but they cannot offer you a "Retina-display".

Same for the "Facetime-camera", or front-facing camera as the rest of the world calls it.

<comment><USER6> No.

</comment></comment></comment></comment><comment><USER7> Phenomenally stupid article.

Dude obviously has graphics card issues. Refuses to take it in to be serviced. Acts all surprised when an OS update includes revisions to the graphics drivers, which caused the bad behavior to worsen. Decides the right course of action is to pen an internet screed against Apple because, well, I have no idea.

The funniest part is, NVidia and ATI produce the graphics drivers, so if he wants to be mad at someone, he should be mad at them.

<comment><USER8> Thank you for being the sane one here. This "engineer" didn't even understand that Apple doesn't write the drivers and "BIOS" for the card; how can I take his rant seriously? Not to mention he started it with "my computer has been acting up for the last year but, y'know, who has the time to take it in? You'll never guess what happened... it got WORSE!!" Feign surprise.

<comment><USER9> I don't see how it makes any difference who writes the GPU drivers. Apple's entire business model is selling all-in-one solutions and the price you pay for that as the vendor is the whole box is your problem from the customer's perspective.

GPU driver issues? I don't care if they are Nvidia's (or AMD/ATI's) bugs, Nvidia (or AMD/ATI) is your GPU vendor, you have them fix that shit and just deliver that to me in an OS update. Otherwise your shit is busted.

If my Honda car had some firmware in it programmed by some 3rd party shop in China and it started acting up, I would damn well demand Honda figure out how to get it fixed regardless of whose bug it was. They are the ones who sold me the integrated solution, it is now their problem. Same thing with Apple devices, especially since they've chosen to create an ecosystem of computers with no user serviceable or replaceable parts.

<comment><USER7> But the problem isn't shitty drivers. The problem is the hardware seems to be failing, and all the drivers did was alter the observable behavior for the faulty hardware (unfortunately, making it worse, but that's not the salient point here). It's not reasonable to blame a company for a supposedly bad software revision, when the fundamental issue is bad hardware.

</comment></comment></comment></comment><comment><USER10> I hate to break it to you, but Apple is very focused on increasing product turnover. Every other PC and laptop vendor is going through rough times because the obsolescence curve on Windows PC's has gotten so slow to fall off. A five year old PC can run Win8 (or Linux) pretty fine actually, so sales are in the scuppers.

Would you want to install Mountain Lion on a five-year old Mac? Hell no!

Apple saw that hardware was starting to last longer and took steps. Part of their solution was to try to innovate. Retina screens, multi-touch trackpads and an increased focus on gestures to justify their use over mice, etc.. Another part was to drive costs, and prices, down. Besides placing price pressure on the competition, occupying a lower price-bracket means people are more likely to upgrade more often rather than trying to nurse their old hardware along for as long as possible. This is the good. The other parts of their attack on long obsolescence cycles are not so good.

All traces of easy upgradeability have left Apple's product line. You now need special tools to get into pretty much any Apple laptop, and they use propriety connectors for everything. Want to pop an off-the-shelf SSD into your Air? Not gonna happen. Yes, you can order Apple compatible parts and tools online, but this is not by Apple's design. They'd probably sue those guys into oblivion if they were really doing a lot of business.

Apple laptops feel great in the hand, as if they're built to last generations, but they're actually horribly delicate in some respects. The Air can be bricked by a mere drop of liquid in the wrong spot (this actually happened to me. One drop. I'm not kidding.). The proprietary screws and integrated battery mean you can't remove the potential to stop the damage before it happens and then clean things up yourself. It's a horrible feeling watching your laptop fry itself knowing it could have been saved if it had been designed with a removeable battery. You'll get no sympathy from Apple either. Their warranty does not cover spill-damage. When this happened to me, the repair bill was literally larger than what I paid for my air in the first place! Subtle hint?

Software glitches and poor support for older hardware are only the latest in a long sequence of Apple's moves to keep you buying new hardware. Have the geeks looked at your obsolete macbook, tsk'd, and subtly hinted that while you could continue suffering with that old beast, a new laptop would be very cheap and work much better!

Apple is not stupid. They're actually really freakin' smart. I'd be willing to bet OSX users replace their laptops, on average, more than twice as often as Linux or Windows users.

<comment><USER11>
      Want to pop an off-the-shelf SSD into your Air? Not gonna happen.

A typical SSD is larger than the MacBook Air. But you can add third party SSD modules:

<http://eshop.macsales.com/shop/SSD/OWC/Aura_Pro_Air_2012>

      The proprietary screws and integrated battery mean you can't remove the potential to stop the damage before it happens and then clean things up yourself.

You can buy a pentalobe screwdriver for $10 from iFixit or $2 from eBay. You can also buy third party batteries off eBay.

<comment><USER12> I hope they deliver before the liquid hits the critical circuits!

As opposed to just about anywhere else, which will have standard screwdrivers. Visiting another office? What do you mean you don't carry around your pentalobe screwdriver?

<comment><USER11> Are you suggesting that most people have micro screwdrivers suitable for opening cases ?

Because that doesn't seem right at all.

<comment><USER13> Screwdrivers capable of opening up every Thinkpad I've ever used are included in every generic screwdriver set I've ever bought for "jobs around the house" (tightening screws on furniture, opening up toys to replace batteries [sometimes requires pretty small screwdrivers], mounting WiFi routers on the wall, ...).

I believe the exact opposite is true for the two MacBooks my wife has owned.

</comment></comment></comment></comment></comment><comment><USER14> When talking about his unreliable iMac:

> When a tool has served me well and needs to be taken care of, I feel I owe > it that kindness for all its done for me.

and then, when he wants to bash Linux:

> A computer is a tool, that's all. When it ceases to work reliably we have to > move on.

Why the double standard?

<comment><USER5> I reacted to this as well:

> Well, as someone who helped found Gentoo Linux, fuck Linux. It's the > absolute best thing for servers, AND NOTHING ELSE. If you're running Linux > on the desktop, you're a person who would rather fix his computer than use > it.

He even mentions Windows 8 as a more viable option. WTH?

As someone who actually uses Linux on the desktop I have to very much disagree. I install it. It works. Every time.

Ofcourse he came from Gentoo Linux which has been rideculed internet-wide time and time again for their incessant need to über-optimize ever single little thing way beyond pointlessness.

His error in is generalizing this onto the rest of the Linux-world, and guess what? That's just so extremely wrong and not even close to a normal user these days. I haven't even bothered compiling my own "optimized" kernel the last 5 years. Shocking! I know!

This guy is a hardcore Linux geek converted into hardcore Mac-fanboy (polar opposite), sold on the "it just works" idea, because things _didn't_ use to just work in the world of Linux.

The transition must have been wonderfully liberating. But now he finds that his newfound hero has abondoned him and that it was not the saviour he had hoped for and he is lost.

Had he only known he could return to his roots and find everything he wanted right there.

<comment><USER15> "This guy is a hardcore Linux geek converted into hardcore Mac-fanboy (polar opposite)"

I disagree that these are polar opposites. I have been a Windows guy most of my life, but after switching to Linux, I have learned to appreciate the merits of the UNIX basis of OSX.

<comment><USER5> > I disagree that these are polar opposites

What I mean by that statement (which seemingly wasn't completely obvious) was that he went from a "I want to be in control of and tinker with absolutely everything"-stance (Gentoo, enough said) to "I want everything working, done, out of the box"-stance (Macs).

I'd argue that is very much polar opposites.

</comment></comment></comment></comment><comment><USER16> "and Linux… Well, as someone who helped found Gentoo Linux, fuck Linux. It's the absolute best thing for servers, AND NOTHING ELSE. If you're running Linux on the desktop, you're a person who would rather fix his computer than use it."

Yeah, right. Say that to my many linux-using friends who can't write a simple "hello world" program to save their lives. Despite "[helping] found Gentoo Linux", the author comes off as a moron when he makes such comments about "Linux", whatever the heck it means here.

<comment><USER17> Gentoo was the first distro I used, hell, I even did a stage 1 install multiple times, and I understand his perspective perfectly. "Ain't nobody got time for that" indeed.

I'm a happy Ubuntu user now (right now, actually). I hope he gives Ubuntu a try sometime; it's leaps and bounds more reliable and tinker-free than Gentoo ever was.

edit: she => he

<comment><USER18> Sorry if this is a dumb question, but who are you talking about when you say 'she'? I thought it may be the author, but his name is "Daniel" (and there's an avatar picture of _him_ in one of the comment replies).

<comment><USER17> I somehow got the impression that the author was female. I've corrected my post.

</comment></comment></comment></comment><comment><USER19> This article is just plain stupid. Apple's service isn't what it once was, their hardware is lower quality now, blah blah blah...we all know that. Have you been living under a rock for the past 3 years?

"and Linux… Well, as someone who helped found Gentoo Linux, fuck Linux. It's the absolute best thing for servers, AND NOTHING ELSE. If you're running Linux on the desktop, you're a person who would rather fix his computer than use it."

You kidding me? For the vast majority of OSS development and use, linux is by far the easiest solution. People (including me) use linux because they DON'T want to fuck around with shoe-horning software into running on a Mac or Windows. It's just the simplest solution for using and developing open source software. The above quotation may have been true about 6 years ago, but it sure as hell isn't true now.

Welcome to 2013.

<comment><USER20> Agreed, as some one who has extensive admin and dev knowledge in OS X/ Win / Linux I find Linux to be the easiest to manage and install in a desktop environment.

</comment></comment><comment><USER21> > The exact moment I quit Linux was when an emerge pulled the latest raid- > tools and broke my raid array.

Yeah, that's Gentoo. Such is life when you're running locally-compiled binaries that, depending on your USE flags, have been compiled with a combination of settings that nobody in the whole world has ever tested before.

I'm running Ubuntu Precise right now, and can quite honestly say that I have not done a single system maintenance task in the six months since I installed it and set it up. It just works. Granted, I'm not doing anything too fancy with it, just basic software engineering.

<comment><USER22> Yeah. I hate to sound snarky, but a Gentoo user swearing off desktop linux for good is exactly why we shouldn't be using Linux as a brand name. Ubuntu and Gentoo are miles apart in terms of how well tested they are on the desktop, and lumping them both under the Linux brand leads to this sort of confusion.

<comment><USER18> Exactly. I expect this from people who don't know anything about Linux or the concept of OSes in general (e.g. when people hear I use Linux they assume it's for "servers and programming" only), and frankly it's quite understandable in that case. It's a damn sight more odd seeing someone who "helped found Gentoo" be seemingly incapable of distinguishing between Gentoo and other Linux distributions in terms of system maintenance.

</comment></comment></comment><comment><USER23> Why is it that Apple users are so damn opinionated ? Jeez, just use what works for you.

Guess what ? I use a Windows Desktop and really like it. Its fast, i can built it myself and works with everything. My web development is done on an ubuntu vm in the cloud so i dont care where my tools run. Id probably run Linux but as i do some game programming and my tools arent availabe there, i cant.

I also own a Macbook Air, i really like the hardware and battery life. Its a really solid mobile device. I dont like OSX too much but it runs my tools so i dont care. As PC laptop makers have catched up alot in the past 2-3 years id probably buy an ultrabook next as there are more choices and they are a bit cheaper.

So what ? No hardware/software is perfect, just use what works for you.

<comment><USER24> Most Apple users actually aren't that opinionated - it's just that the opinionated Apple users are more vocal than the Windows crowd. I'd say the Linux crowd are more opinionated than Apple users.

</comment></comment><comment><USER25> My experiences with Apple hardware in the past 7 years do not mirror this.

In total, I have seen three serious problems with mine and my families computers: 1) Failed hard drives 2) RAM that went bad 3) A clusterfuck of problems on a 17" MBP pre-unibody (Apple eventualy got it working, but it's on its last legs in general now because the owner refuses to install patches).

This is across, I wanna say... approximately 20 Apple devices ranging from phones to iMacs.

They're not perfect, but compared to the amount of problems from when everyone I knew had Windows PCs, I take a lot fewer support calls.

</comment><comment><USER26> I've been running the same install of Ubuntu since 2007 with 0 issues. I've replaced the main hard drive doing a dd to migrate, swapped the entire MB/CPU/RAM and Video card, booted right up no issues. I run a raid 5 mdadm setup, with 0 issues took 5min to setup the first time been working since. Upgrading to the latest mainstream releases and package updates automatically along the way.

I get the anti Linux sentiment I use to use Gentoo before Ubuntu/Debian became so viable and it was/is painful to say the least. I'm not going to say I always agree with everything Canonical does with Ubuntu but I could make the same argument for OSX and Ubuntu has been amazingly stable.

So to anyone out there on the fence with OSX and fearing Windows, Linux is so much better these days. Approaching the ease of OSX.

<comment><USER27> Similar experience - desktop running Ubuntu 8.04 LTS with mdadm Raid has been brilliant. Could still get up-to-date packages for most things I need. Recently replaced with a laptop, wanted faster CPU+SSD, not because of any issues with Ubuntu.

</comment></comment><comment><USER28> Didn't read your rant since it was impossible for my human eyes. I may bill (!) you for the temporary loss of productivity. Your BG and color scheme are horrible, I would rather blend and drink my left foot than read your blog again.

<comment><USER29> I use Readability in Chrome. It makes the text nice with one click, everywhere I want to read an article.

<comment><USER28> You're right, I actually have it installed too, I should've just done that and moved on. This particular blog with the patterned/hypnotic background really hurt my eyes in the morning, and I guess I was cranky enough to take it as an insult :)

</comment></comment></comment><comment><USER30> TL:DR: "My mac broke. I didn't actually bring it in to get it fixed, but fuck Apple for not fixing it anyway."

<comment><USER31> Do you actually think that taking it into an Apple store would have ended in the tech reflashing the GPU?

Besides the fact that transporting it could damage it further, he would probably would have just been told it was end of life or needed a new GPU altogether and the chances of them having said GPU in stock would be next to nothing.

Maybe it's just my area but Apple stores here do not actually repair products, they just tell you to buy a new one.

<comment><USER24> > Besides the fact that transporting it could damage it further

This is just silly - a computer is not a trauma victim, it's a piece of hardware.

My experience has been that they've spent two days isolating a problem on my 2005 iMac which I caused by using 3rd party RAM with the wrong timing - <USER2> didn't appear well after I replaced the RAM (I replaced the RAM again, it worked fine).

</comment></comment></comment><comment><USER32> I can't remember the last time that my Xubuntu install broke.

Though somehow it makes perfect sense for one of the people who helped build Gentoo to be disgusted with Linux.

</comment><comment><USER33> This guy writes about operating systems the way I used to when I was 12. There is perhaps a valid point (I don't know, I don't use a Mac) hidden in terrible writing and fanboy opinions.

</comment><comment><USER34> My 2008 Macbook really works like a charm, always has, always does. That was my second Mac after I tried them in the 90s (and hated it). I was very happy so in 2010 I bought, for a very large wad of cash, a MBP with an i7. Nothing but problems; problems which don't appear when you go into the store except the lousy battery life which they said is because I run too heavy software (which I don't mostly and the 2008 had/has no issues with it).

The magsafe internal part of that MBP is also of much lower quality; one of the pins 'disappeared' and Apple replaced the magsafe and the external charger. Now the same pin disappeared but I'm out of warranty and they want E600 to repair it.

Thinkpad, here I come.

</comment><comment><USER35> Likewise the new iTunes. But at least that's not a key component of my daily wage-earning. I feel your pain.

<comment><USER36> iTunes has always been a dog.

</comment></comment><comment><USER37> There is a prevailing assumption that this problem is "caused" by bad software. This might be the case, but bad hardware could also be part of this!

A lot of modern hardware has programmable parameters, "core voltages", PLL parameters that control running frequencies and the timings for DMA / memory access state machines.

Who's fault is it if the hardware vendor says use X, Y and Z for these parameters. _And_ they include the same parameters in the software they supply and....

What if some %'age of the hardware doesn't actually produce the timings the configuration parameters specify, or does "really bad things"?

In reading the "source" article, there is a pointer to a discussions.apple.com thread. The "fix", if you go and read the thread, is on page 21 from Andrew Humphreys. What his solution does is change the timings and clock speeds for low power and idle modes of the GPU. Reading between the lines, the low power / clock speed settings don't work and will cause corruption. His changes are derrived from people having problems running Windows 7. The same changes seem to help people running OS X.

Perhaps someone from the Linux community will be willing to force the ATI GPU cards in question into low power / performance modes and see if corruption occurs.

I've no knowledge of what the parameters Andrew is overriding actually do, but for a portable platform "faster" almost always results in higher power usage, heat and therefore shorter battery life.

This might not be such an issue for desktops, if you can tolerate the noise of increased cooling.

Getting pragmatic about this, how could you design a Q/A test for this? Do you really afford to wait X number of minutes before / after each test to make sure the GPU is cold enough to go into low power mode? What if you decide to use hardware that can cool the GPU faster so you could get through all the tests -- doesn't that make the tests invalid as you are no longer using HW customers will get?

As a final note, there might be evidence that some graphics drivers were updated ~1 week before 10.8.3 was shipped. The evidence is in /System/Library/Extensions/

</comment><comment><USER29> I can't tell how many times I have went to Apple forums to find threads hundreds of posts long and spanning multiple years without a fix.

Why don't they send some of those geniuses to fix these problems? Can't they afford to support their products?

</comment><comment><USER38> From what I've seen Apple still does a far better job than other PC makers in this area.

</comment><comment><USER39> >I have been meaning to take her to Apple but honestly… dragging an iMac through South Coast Plaza to the Apple store is a fucking miserable proposition, so I've been putting it off.

There's your problem.

<comment><USER40> Why is that a problem, beyond a desktop being heavy? I don't see any Dell/HP/Samsung/Lenovo/etc stores around for him to drag a pc desktop to. If there happens to be a Microsoft store around, he'll meet nice people but not get much help.

<comment><USER8> He's saying the "problem" was that the author was too lazy to fix it in the first place, I believe.

</comment></comment></comment><comment><USER41> For all the things I dislike about Apple and iOS, I really can't say enough good things about their hardware. Even so much that I will wait until Q3 just to see if they release Macbook Airs with a high(er) res screen instead of grabbing the XPS13 today with a 1080p 13" screen. (And I doubt the XPS13 is any more serviceable).

> which is scary because Windows 8 is unadulterated bullshit, and Linux… Well, > as someone who helped found Gentoo Linux, fuck Linux. It's the absolute best > thing for servers, AND NOTHING ELSE. If you're running Linux on the desktop, > you're a person who would rather fix his computer than use it.

What a steaming load of shit.</comment>


Robinhood-ruby – Ruby gem for zero commission stock trades - <AUTHOR> https://rememberlenny.github.io/robinhood-ruby/ <comment><USER2> Nice. I wish RobinHood was available in other countries too rather than just US.</comment>


We've All Got a List - <AUTHOR> http://ashedryden.com/blog/weve-all-got-a-list

<comment><USER2> [http://en.wikipedia.org/wiki/Joseph_McCarthy](http://en.wikipedia.org/wiki/Joseph_McCarthy)

This sort of thing always turns out well.

<comment><USER3> lol. totes like that, bro.

<comment><USER4> Ah, an SRS poster.

</comment></comment></comment><comment> vezzy-fnord Public Open Source Developer Blacklist, major version 4, minor version 2, revision 6:

Entry #846: Guy McGee. Offense: Rejecting a commit that consisted of nothing but changing two gendered pronouns. Notes: Vehement sexist, may be dangerous. Projects: Works on GenericWebStartup.

\</comment><comment></comment><comment>-----

Yeah, I can see how this could quickly devolve. Even if the initial intentions are benevolent, if someone truly committed something as serious as sexual assault, they would be assigned into an already existing sex offenders' registry. On the other hand, "dismissiveness towards someone in a marginalized group" is something very vague and can be abused easily by people harboring personal vendettas.

The end result? People self-censoring on an unprecedented level.

</comment><comment><USER4> In other words, never talk with people who self identify as ideologue extremists.

</comment><comment><USER5> It's all just about wanting power. Such a list would be a nifty device.

Edit (there was one upvote before I wrote this): Another issue: could such a list enable people to sue for getting a job, on the grounds that they had been discriminated against for being on the list?

Actually one reason I am opposed to feminism is that they seem to reject the notion that I should be able to decide who I like or not by myself (and it's not that I dislike people because of their gender or race - it's just a basic principle that I want to be in power of my own mind, thank you very much). Now they turn that on it's head - of course, not liking people is OK, if it's the feminists who do the not liking.

Edit 2: another thing, she should read some books by Dan Ariely. Turns out the "rational theory of crime" (claiming people commit crimes because they are unlikely to be caught or punished) does not explain things very well. Iirc people commit crimes because they can rationalize that they are still good people if they do so, for example they might feel they somehow deserve it, they see others doing it so they feel entitled to it, too, stuff like that.

<comment><USER6> Um, what? I think your definition of "feminism" is a bit flawed. Could you explain which part of feminism rejects the notion that you decide who you like?

<comment><USER5> In a way that is the essence of political correctness, it tries to establish a general law for your preferences. The article here is a case in point - it's not enough that everybody has their own list, now there has to be a public list, under control of the feminists.

Of course feminism has more aspects than that, I don't define feminism in that way.

<comment><USER6> Feminism is about how people are treated, not about who you like. No one cares who you like.

By the way, what is with this "the feminists" bullshit? It's not a society. People of all walks of life, who believe that women deserve the same respect and rights men do, call themselves feminists. It is a sure sign of a small mind to go around blaming shit on supposedly homogeneous and insidious groups like "the feminists," "the communists," or "the homosexuals."

<comment><USER5> They want to determine who I hire, or who I am attracted to (the subgroup of feminists who campaign against certain beauty ideals).

As for "the feminists", it's true that some people who haven't really given it much thought call themselves feminists (they think they fight for equality). I don't really blame them.

But I have followed feminism for a while now and I think there is a group you can call "the feminists". For starters, even the people you mention ("women deserve the same respect") tend work on the basic assumption that women get less respect and generally receive the shorter end of the stick in society (or in other, more common words, women are victims).

Never mind that "they" tend to generalize about men and "masculinity" in much the same way as you claim nobody should about feminists.

And why would anybody have to call themselves a feminist if they were merely for equality? It seems fair that if you call yourself a feminist, certain prejudice is applied to you.

<comment><USER7> > the basic assumption that women get less respect and generally receive the > shorter end of the stick in society

That's not really an assumption, that's just a cold, hard, documented fact. And, for most women, first-hand experience. Just one example:

[http://en.wikipedia.org/wiki/Male–female_income_disparity_in...](http://en.wikipedia.org/wiki/Male–female_income_disparity_in_the_United_States#Explaining_the_gender_pay_gap)

<comment><USER5> I've read lots of papers explaining the wage gap. The wikipedia article is too long for me to read right now, but thanks for pointing it out. I may update it if applicable.

Also what you don't take into account is that "wage gap" is not an arbitrary measurement. It is picked specifically to make women look like victims. You could also measure "time spent with friends and family instead of working" or "life expectancy" or "probability to die on the job" instead and men would look like the victims.

Another thing I wonder is how many of the wage gap studies take into account that typically income in a marriage is split equally. So a woman's wage in a job might be less than her husbands, but her effective income is the same.

Furthermore, might it be a privilege that women don't need to worry about money as much as men.

Just a few things to think about. Actually I think statistics like the wage gap are interesting. Something is going on, but it is probably not what feminists think. It's worthy of study, but feminism is not open to study or science - the only allowed result is "women are the victims". Typically the wage gap papers stop when they have identified the wage gap. Then they blurt out "see, it's discrimination" and no further investigation is attempted.</comment></comment></comment></comment></comment></comment></comment>


LittlevGL – A High-Level Micropython GUI Library - <AUTHOR> https://blog.littlevgl.com/2019-02-20/micropython-bindings <comment><USER2> I'm working on my first electronics project, it's using Adafruit's Feather M0 Express and a SSD1306 oled screen.

The Feather is a a ATSAMD21 microcontroller with circuitpython - Adafruit's versoin of Micropython (?). The oled screen is controlled by spi, but can be controlled with i2c, and I think a non-serial protocol.

I've noticed that refreshing the display is very slow, a loop like this flashing the screen is very slow.

        while True:
          oled.fill(0)
          oled.show()
          oled.fill(1)
          oled.show()

Even writing a line of text is slow

          oled.text("Hello", 1, 1)

And the old text is not cleared from the screen so I have to write over the previous display to clear it.

        oled.text("0", 1, 1, 0)
        oled.show()
        oled.text("1", 1, 1, 1)
        oled.show()
        // at this point the screen shows a 0 and 1 overlaid.

        // this is a foolproof way to clear the screen, but it's very slow
        oled.fill(0)
        oled.text("1", 1, 1, 1)
        oled.show();

        // This is a little faster than the previous example, but will become harder to maintain as the display becomes more complicated.
        oled.text(lastText, 1, 1, 0)
        oled.text(newText, 1, 1, 1)
        oled.show()
        lastText = newText

I'm not expecting a 60hz display, but I don't think I'm getting 12hz.

\- Why is this so slow? The microcontroller, the display, the spi protocol, circuitpython? \- Would a display library like LittlevGL speed up rendering? \- Would switching from micropython to c or rust improve performance? \- Could it be as simple as increasing the spi clock (I'm using defaults from the SSD1306 library)?

<comment><USER3> There are two things you need to consider: how fast you can push pixels (determined by bus speed), and how fast/often you're actually pushing pixels (library efficiency). A faster clock will usually speed things up.

One oddity about many displays (including the SSD1306) is that you can't write to a single pixel. Single pixels are not addressable (it would be a waste of RAM on a 1-bit display), so you usually have to send a write sequence that includes a memory offset and then a data byte (8 pixels). That also implies you can only write to 8-pixel wide blocks on the display in one go.

If you have RAM on your micro, the way to minimise write overhead and code complexity is to buffer the entire display and then update it in one go; I assume this is what adafruit does. Most displays have a mode where you keep sending bytes and it'll auto increment the display pointer. However now you have the cost of updating the entire display if you just want to update say four numbers for a sensor readout.

An approach I've used in the past is to defined a variable width font 8 pixels high (i.e. each character is 8xN). This is stored column-wise in memory (so character[10][0] has the bits in the first col). Then a write operation simply involved writing to a memory location, and iterating through each character's columns in the string. It's very fast even over I2C.

I would define an imaginary grid on the display and then call something like put_text(row, x, "my_string"). The approach means your write regions must be multiples of eight high, but the width doesn't matter. And you can also use this for things like simple sparkline plots where you don't need to store an entire displays' worth of data. I believe on the SSD1306 you get to choose whether the RAM is treated in column-wise order or row-wise order (or something like that to make this approach work).

Obviously refresh rate is determined by how much you change on the display per second, but for a few numeric fields it's really fast.

EDIT: [https://www.electrodragon.com/w/images/9/95/SSD1306.pdf](https://www.electrodragon.com/w/images/9/95/SSD1306.pdf)

Yes - it has either vertical or horizontal page addressing which you can exploit.

I strongly recommend trying to write a display driver. The SSD1306 is great, and they're so cheap on eBay. You get instant feedback when stuff isn't right and it's a lot of fun trying to write efficient routines on 8-bit microcontrollers.

<comment><USER4> I'm one of the developers on the LittlevGL project. As a note, the display architecture does buffer chunks of the display and then write them.

<comment><USER3> Good to know! I checked though, Adafruit's doesn't :)

[https://github.com/adafruit/Adafruit_CircuitPython_SSD1306/b...](https://github.com/adafruit/Adafruit_CircuitPython_SSD1306/blob/master/adafruit_ssd1306.py)

</comment></comment></comment></comment><comment><USER5> Very nice project.

My only remark is that the GL suffix might be mistaken by a tiny OpenGL subset.

<comment><USER6> I almost didn't click on this because I thought it was just a wrapper/library built around OpenGL.

</comment></comment><comment><USER7> I love these kind of projects, really making stuff smaller and more accessible. I'm hoping that we can see something as simple as AppJar [ [http://appjar.info/](http://appjar.info/) ] to really boost the tinker/maker community, and especially beginners and younger students as AppJar does.

</comment><comment><USER8> I recently developed some Python GUI app using Kivy for Raspberry Pi, and I'm quite happy with the result. From the short code examples of LittleGL, it looks similarly easy. I wonder how they compare. But maybe it would be hard to run Kivy on Micropython / micro controllers, although not sure.

</comment><comment><USER9> Very impressive! I'd like to use this in regular python as well.

<comment><USER10> micropython IS regular python, that's the point. i see no reason why this wouldn't work on cpython.

<comment><USER11> But LittlevGL is not written in Python. It is written in C. From the website: "All LittlevGL functionality (such as rendering the graphics) is still in C. The Micropython binding only provides wrappers for LittlevGL API..."

The C interface of Micropython and CPython are different. So I would expect that you have to port/redo the bindings for this to work on CPython.

<comment><USER4> I'm one of the developers on the LittlevGL project. The Micropython binding is not compatible with regular Python at all. See this comment: [https://github.com/littlevgl/lv_binding_micropython/issues/1...](https://github.com/littlevgl/lv_binding_micropython/issues/13#issuecomment-468803729)</comment></comment></comment></comment>


Google Instant - <AUTHOR> http://blog.arpitnext.com/2010/09/google-instant-search.html <comment><USER2> Multiple submissions on the same subject:

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

<http://news.ycombinator.com/item?id=1672388> <\- This is an explanation

<http://news.ycombinator.com/item?id=1672346> <\- First

... and more. I wonder how many we'll get.

<comment><USER3> Which brings us to the topic we spoke of earlier: <http://news.ycombinator.com/item?id=1672164>

</comment></comment><comment><USER3> Like it, but hate the dropdown fuzzy match search results layering atop the first result along with the "feelings of euphoria" obnoxiegocentricicity. I hope they fix that before go-live.</comment>


Code = life - <AUTHOR> https://medium.com/@hitherejoe/code-life-d25d9178e4da#.4k860ym3w <comment><USER2> Looks like exclamation points get stripped from titles. Unfortunately, that inverts the meaning here.</comment>


A simple way to simulate Apple iOS7 iBeacon feature with two iOS6 devices - <AUTHOR> http://blog.estimote.com/post/57087873876/a-simple-way-to-simulate-apple-ios7-ibeacon-feature

<comment><USER2> Wow, didn't know that is so simple. Can't wait to play with iBeacons and iOS 7.

<comment><USER3> I have to know, when is iBacon coming? iOS 8?

</comment></comment><comment><USER4> That's really useful feature to experiment with.</comment>


Has Gnome 3 decided that people shouldn't want screen savers? - <AUTHOR> http://www.jwz.org/blog/2011/10/has-gnome-3-decided-that-people-shouldnt-want-screen-savers/

<comment><USER2> In the last 4 years the only screen saver I have had is "turn off the monitor" No matter how complex or cool it was, turn off the monitor was always the choice. Sure a nifty one recently did impress the co workers with "ooooh linux has nice screensavers" but that quickly changed into "lets just turn off the monitor because the screen saver is so cool we stare at it, and are distracted from the discussion". At home, 5 minutes = monitor off. No SS, just monitor off, save the energy. Why would you want to spend cpu time/electricity executing, rendering, and displaying a screen saver when the alternative is to save $$?

Whatever, I'm glad.

<comment><USER3> Originally, screensavers were created to prevent burning the image of the unattended desktop to CRT monitors.

Now that we've progressed past that problem, screensavers don't serve any tangible purpose other than to waste electricity and look cool like you've said.

I guess pro-screensaver people will argue you can have informative screensavers with things like the current weather, time, things like that.

</comment></comment><comment><USER4> Screen-savers to me a relic from a time of phosphor burn-in, slow starting monitors and an annoyance that I turn-off.

I think GNOME 3 was right to not maintain them.

</comment><comment><USER5> What bothers me about most of the things that Gnome 3 has done recently is that they are not only changing things, but actively making it harder to change them back.

<comment><USER6> Basically in the same boat. Gnome 3 left me with no equivilent to what gnome2 was and now I'm stuck with xfce or an ubuntu LTS/debian until they get upgraded.

</comment></comment><comment><USER7> Many, _many_ LCDs still use fluorescent backlights. Turning that backlight on and off prematurely ages the lamp. Just like a CRT, you want to turn it off (put it into sleep) when the cost of the electricity outweighs the cost to lamp life -- e.g. overnight.

You should always have a screensaver, even if it's just "blank screen," for when you lock your workstation for short periods.

</comment><comment><USER8> KDE 4.8 might not have a screensaver either, for completely different reasons. [http://blog.martin-graesslin.com/blog/2011/10/new-screen- loc...](http://blog.martin-graesslin.com/blog/2011/10/new-screen-locker/) (they don't play well with the new compositor)

<comment><USER9> The post says that the 20-year-old screen savers probably will stop working, and that's simply because KDE is trying to make progress. It's very well stated and makes sense. You can rewrite them or make new ones in the new system, screen savers will still be supported in KDE.

The GNOME people are saying "I don't think you need screensavers, so you don't get them anymore", and aparently with about as little tact as possible.</comment></comment>


3 ways to detect slow queries in PostgreSQL - <AUTHOR> https://www.cybertec-postgresql.com/en/3-ways-to-detect-slow-queries-in-postgresql/ <comment><USER2> When do web devs start looking at query planning as an optimization area? Maybe because I work in more startup roles with fewer people, but it always feels like a premature optimization to worry about this. Especially with ORMs generating the sql, most of the time it is just an n+1 query that needs to be fixed.

I guess I can see in latency critical apps where this would be useful. My experience to date has left me wanting to try these techniques out, but never having a justifiable case to do so</comment>


Details on OIS in Nokia Lumia - <AUTHOR> http://i.nokia.com/blob/view/-/1824212/data/2/-/Download-pureview-820.pdf

<comment><AUTHOR> _Rather than a single lens element being shifted to compensate for camera shake, Nokia's OIS system moves the entire optical assembly in perfect synchronisation with the camera movement, or to be more precise, unintended camera shake._

 _Nokia's new OIS system can cater for around 50% more movements per second than conventional OIS systems – up to around 500 movements every second_

 _shutter speeds slower than 1/30th second typically results in camera shake. Depending on the amount of camera movement requiring compensation we've found in testing that shutter speeds as long as 1/4th second can be used. This is a 3EV improvement or 8x longer shutter speed_</comment>


Google opts out of FISA disclosure deal, calls it 'a step back for users' - <AUTHOR> http://mobile.theverge.com/2013/6/15/4432368/google-opts-out-of-fisa-disclosure-deal-made-by-facebook-and <comment><USER2> This begins to hint at something I've been kind-of hoping to see since this all started to break: internet companies competing with one another over who can be the most transparent. If only that were to have time and opportunity to set, and become the norm...

</comment><comment><USER3> Can't you just separately report the number of non-confidential-law- enforcement requests (as an exact number), and let the reader take the difference?

<comment><USER4> Pretty sure the NSA isn't that stupid to leave that loophole wide open.

Similarly Google probably isn't allowed to disclose the past 6 months even in aggregate since they already published specifics.

</comment></comment><comment><USER5> If NSA has nothing to hide about FISA requests, what are they afraid of? Works both ways eh?

<comment><USER6> No. :(</comment></comment>


The advertising industry has been living a lie - <AUTHOR> http://www.businessinsider.com/the-advertising-industry-has-been-living-a-lie-2017-10 <comment><USER2> I spend $5m a year on programmatic ads, so I think I can answer the author's questions.

> What made you think advertising on a few hundred thousand sites many any > sense it the first place?

I'm intending to reach millions of people with my ads. Those millions of people visit a few hundred thousand sites. Why would I only buy ads on a few sites. Big brands buy tv ads and billboards on thousands of shows, whats the difference? Buying on many sites also allows me to reach a very niche audience that otherwise you could never reach (or it would be 10x as expensive).

> How much is being wasted on fraud protection that doesn't do the job?

This is a good question and I don't have an answer. I spend money on fraud/bot protection and can't always verify if it works. But as long as my ads are producing results and have a good ROI or the client is happy, I don't even need to know what the answer is.

> Why does every single publisher or ad tech company boast of working with > three or four anti-fraud vendors at once?

Digital marketing as an industry moves super super fast. At least one of those four anti-fraud vendors will pivot in the next year, and another will focus on something niche like viewability. Having multiple vendors is necessary, and there isn't really a downside. The switching costs for me between two vendors is literally unticking one check box, and ticking another.

I'm not familair with the author, but it honestly doesn't seem like he understands advertising. Are you complaining about the use of third party data (but no mention of privacy?), that advertisers are lazy (personal attacks..okay. The whole industry is lazy?), that advertisers buy ads on and support small websites, or are you just feeding on the ever-popular disdain for advertising?

There are no doubt problems in the industry, but if you want to write about it you'll need to make a claim and support it with data. If you think 3rd party data doesn't work, or allowing ads on lots of sites doesn't work then claim that and prove it.

<comment><USER3> I support almost all the criticism you form except the point on comsumers' not needing to know if fraud protection works or not.

</comment></comment><comment><USER4> > But that's not really how people consume media. Most people don't spend time > on thousands of websites.

I found it difficult to read past that bullet point. It's such an obviously stupid mischaracterization of what "the long tail" is that it makes the rest of the arguments suspect.

<comment><USER5> I am not familiar with the "long tail" book or the particular internet theory, but I used to work for a company which owned an actual windsurfing website. They only sold advertising to what they called "endemic" advertisers, which means they are of the industry that supports the niche; in this case windsurfing. They dealt directly with the advertisers. The reasoning was that "non-endemic" ads would sour their allegiance with the niche audience they served. I would be interested in some research on this theory.

<comment><USER6> It may be a reasonable theory. But there are lots of ancillary industries that help support the niche - boat manufacturers, plastics/cloth companies, clothing and misc gear companies that are native to windsurfing (such as brands like Revive, Vans, Sector 9, etc are to skateboarding), and dozens of other related brands. You may also be hurting your income if you are only doing direct buys/run-of-site buys, since you don't really know what the market value of placements on your site are, you only know what the few brands you consider "endemic" value your site for.

I could likely come up with a few other reasons given the time, but I think this makes the point decently.

EDIT: Also, remember the incentives of the many mainstream high-traffic sites who are pushing this narrative about advertising.

</comment></comment></comment><comment><USER7> What a terribly _frustrating_ article.

1\. It doesn't satisfactorily make the case that targeting the audience rather than the topic-related websites doesn't work or make sense. (I'd argue that a deeper problem is that most simple online ads just don't work, for most people. And otherwise, if you're actually susceptible to online advertising, then actually getting served ads tightly targeted to your interests does make sense.)

2\. I'm not sure that the data used (in support) supports the author's case that people stick to a small number of their favourite websites; rather, it looks like it shows that popular websites are popular. (Hard to be certain without examining the market research questions though.)

3\. It then takes a tangent to show that lots of ad exchanges are unreliable; this may indeed be true, but is totally unrelated to the original premise.

<comment><USER8> Judging from what kind of targeted advertising I get, pretty much any method would be better. Topic method would at least made sites I visit less annoying. I am totally wanting to investigate anti bed wetting method (or other kid related targeted ad) to buy when I am visiting sci-fi web or gaming web page page or ... get the idea.

Judging from experience if people I talked about it with causually, I am not alone nor special.

<comment><USER9> Absolutely! In the past year, I've been doing more computing on a tablet and I don't block ads on the tablet. I am logged in to a variety of sites and make zero effort to hide my activity.

I started paying attention to the ads about six months ago, because I'd manage to notice how poorly targeted they were when I did see them. They are terrible.

I think the best targeted ads have been from a company that sells barn doors. Really, they are in fact selling barn doors online. That's a very compelling ad for me. Except, you know, I already have doors for the barns. I am not actually in the market for new barn doors.

I don't actually need a bra, free for thirty days. I don't have breasts. The missus doesn't use my tablet and actually has her own network connection as I tend to saturate mine sharing Linux isos and stuff like that.

I don't need a used car. I have more than adequate automotive sources already. I'd buy a used car, but it would not be a Toyota that has just come off lease. Maybe try selling me a 900S Turbo from 1992?

I don't have any major medical problems, trying to sell me drugs is pretty silly. I don't need insurance, I'm already well insured. I'm not concerned about paying the least amount for insurance, I'm concerned with the best coverage and service. An ad for, "We are dirt cheep but just shoot you if you're involved in an accident insurance" is not very interesting.

They have vast amounts of information on me. Why not try to sell me a new plow? I'm kinda in the market for one. Why not something to do with hunting, fishing, gardening, or food preservation? Not one ad has has any of those things. They know I own a Kubota, why not advertise some new implements?

I don't get it... I'll buy stuff. I'm more than happy to buy stuff. I love buying stuff. I buy stuff I don't need - all the damned time. Yet, literally no ads have compelled me to click and make a purchase. I have clicked, I just haven't found anything worth buying. I've never bought anything from a placed Internet ad, except when I was searching specifically for that product.

Something is broken.

<comment><USER10> Have you tried to go on your ads preference from Google Ads?

I never had bad targeted ad but I did update that page maybe 3 times in the past decade, that's maybe why.

<comment><USER9> I have not. I will ponder the implications. I kind of want to see what it does without my prompting it.

</comment></comment></comment></comment></comment><comment><USER11> I honestly can't connect with the kind of people that ads (fully) work on.

The absolute /best/ case for an ad is that it might remind me that there's some consumable item that I buy every so often (food/etc) and that I either have some I can consume or that I'm getting low and might want to restock.

For example, an ad for a restaurant I already like might remind me of the positive prior experiences and encourage me to return sooner for more.

However, I'd probably go back there / buy more anyway without the ad. Is it really an /efficient/ use of their money? Couldn't they just make their products more attractive by cutting the costs (not spend on marketing)?

Other ads might be for products I don't already get/buy... those are probably most effective as 'suggested' results near the top of searches when I'm looking for a specific product or in a specific topic of inquiry that seems related to seeking a solution.

</comment><comment><USER12> This is not new news. Suprised its getting up votes.

I would say most marketers are well aware of this. We try and measure down funnel. You learn who are the successful networks and who are not. Sure a percentage will be fraud but you should know your channel ROIs and be maximising that.

This article may as well be written that workers only work productly for 5 hours of thw day. Or 25% of food goes to waste.

There is always wadte. A good marketer will reduce this. And thwir claim about marketers not look at domains seems like hogwash to me. I and markwters around me have looked at this in ever company I've been at. Maybe Ive had a rare experience but I doubt this.

<comment><USER10> Exactly this!

Being able to track what happen with your view is probably one of the big selling point with internet advertising. You can know precisely how effective your ad campaign is and optimize that. Sure maybe there's fraud but if you maximize your ROI, you will inherently minimize fraud.

</comment></comment><comment><USER13> I find most of the claims in this (obviously PR driven) piece misleading.

Online marketers are aware of fraud. The common wisdom is to assume ~30% of your budget went into fraud. Advertisers measure ROI, don't bother much to dig into which form/shape fraud takes place, the tech details, or how to identify or stop it. Because that's technically far from trivial. It's like a restaurant assuming 15% loss on fresh supplies. You factor that in and as long as you have a margin you're good to go.

<comment><USER14> >Online marketers are aware of fraud. The common wisdom is to assume ~30% of your budget went into fraud.

Common wisdom does not account for that some cash cow keyword/adnet combination you can approach to 90% of traffic coming from bots, or conversions being near nil even without clickfraud being involved, or for ad nets having interest to actually go soft on clickfraud.

Whenever I worked in media agencies, I do see people running digital ads for major brands (coke, nike, li ning, microsoft level) being at least moderately competent in technicalities, yet I can't say that any of them ever approached to even partial understanding of what a total "Wild West" is the online ads industry today.

<comment><USER15> I'm deeply involved in digital advertising and I don't even understand what you're trying to say, so maybe you could rephrase? At the very least, the "common wisdom" number is suspect (a random lampshade). I've measured bot traffic as high as 98% from quality news sites like the OCRegister.com

<comment><USER14> I want to say that most online ads people don't get that "you can be losing 30% of your ad spending, but things can be dramatically worse and you will not know it no matter how hard you try"

</comment></comment></comment></comment><comment><USER16> I always figured we should put advertising on the currency of exchange... seriously, just put what ever picture you want on an individual dollar bill (or a $10/$20/$50/$100) for a price you pay to the Treasury for printing it in volume. Different markets for different denominations and you could actually even target specific areas based on the Atlanta vs Frisco printing locations. The price of ads on a dollar bill could easily exceed the value of the currency itself, because of the multiple transactions (even if it's only in circulation for 21 months!) People would even buy them as collectors taking the rare ones out of circulation.

Now, of course you could put advertising on your dynamic (image updating) credit card so as you pull it out at the grocery store it reminds to get more SnackyPoofs for your lovely little Cartman at home. Or perhaps we'll be putting advertising on the blockchain so that they will mine, and we can get transaction costs down!

<comment><USER17> I would hope that there would be massive backlash if we as a country tried to put advertising on our currency, because that's insane. It would be a fairly fitting illustration of what's wrong with modern society, though.

<comment><USER18> Brawndo would be the ideal thing to advertise on cash, how about it Elon/Larry/Bill?

<comment><USER19> It's got electrolytes

</comment></comment></comment></comment><comment><USER20> I think the point that the article is trying to make is a lot less dramatic than the title would suggest.

Basically, there has been a long standing assumption that, netizens in general spend their time on a plethora of websites, and that instead of spending money on specific sites, one should spend money on audiences. In other words, advertise in accordance with a person's interests.

However, due to recent exploitation of this assumption by other fake sites, and fake bot-generated visitors, this assumption has met some strong evidence that would disprove it.

Could the advertisers simply get together and black list such advertising agencies that sell fake niche sites with fake bot-generated views? Or is that a naive view of things?

<comment><USER15> > this assumption has met some strong evidence that would disprove it.

There is no evidence either way. Behavioral targeting works to some extent, e.g. retargeting. I visit Ford Fusion specs, later on Fox News a Ford Ad for a different truck appears.

Detecting fraudulent sites is not only counter-productive for platforms (AOL One is shockingly lenient to pump up their "reach" numbers), but sites as well. Sites will pay for inflated automated traffic to consume advertising budgets. The foxes are decided how to parse up the hens.

</comment></comment><comment><USER21> The article is poorly done. That being said, I don't disagree with the premise.

As I understand it, advertising is seen in terms of acquisition cost (and ROI more broadly). If ROI is a positive, the campaign is a success.

However, this binary view is incredibly limited, and thus leaves significant room for rent-seekers who add no real value to the process. These rent-seekers will leach away value until it is at the minimum acceptable value. If the (legitimate) advertising industry can cut out the fat, it stands to significantly improve results for its clients. Until those clients demand improvements, however, these costly changes will not be implemented and the industry will continue on.

</comment><comment><USER22> This article leaves me with several questions: once a website is revealed to be fraudulent, is there not a way for the advertisers to get their money back? And are none of the advertisers suing the people behind the fraudulent websites?

<comment><USER23> I wouldn't expect google or facebook to be cool with that since they both benefit from the fraud as much as anybody.

</comment></comment><comment><USER24> IMO, the entire advertising industry is composed wholly and solely of lies. That is the entire purpose for their existence.

So, one part of the advertising industry lies to another part, and we are all supposed to be incensed by this?

</comment><comment><USER25> > Most people don't spend time on

> thousands of websites.

The author of this has absolutely no idea how modern advertising works.

</comment><comment><USER26> "'There is no basic internet knowledge among people funding the internet'"</comment>


Guestmeter: Reputation Management Software for Hospitality Industry - <AUTHOR> https://www.guestmeter.com/ <comment><USER2> thanks,</comment>


First Photo of Light Duality - <AUTHOR> https://m.phys.org/news/2015-03-particle.html <comment><AUTHOR> I don't understand what I'm looking at. But it's pretty!</comment>


Passing the Dreaded Data Science Take-Home Challenge - <AUTHOR> https://towardsdatascience.com/passing-the-dreaded-data-science-take-home-assignment-8ae5d55f256b <comment> enahs-sf When i'm looking to hire an engineer, the main signals i'm looking for are:

\- can this person do the job (can they actually program and think about things in an abstract way)

\- is this someone i'd want to work with

\- if they're lacking one of the above, are they open to feedback and able to learn and grow.

Takehome assignments arguably only solve the first part of this and as a result don't give you a ton of signal about whether or not someone is good or bad. Also, once they're standardized and out there on the internet, their inherent value becomes diminished as it becomes an arms race to detect plagarism.</comment>


How We Overfunded Our Kickstarter by $28,000 and Barely Made a Profit - <AUTHOR> https://medium.com/@ugmonk/how-we-overfunded-our-kickstarter-by-28-000-and-barely-made-a-profit-a8ad80e5b2b3 <comment><USER2> Am I off base, or aren't kickstarter campaigns supposed to be non-profit?</comment>