Feds seize 'counterfeit Apple AirPods' that are actually OnePlus Buds - <AUTHOR> https://www.theverge.com/2020/9/13/21435637/us-cbp-counterfeit-airpods-oneplus-buds-mixup <comment><USER2> The legal definition of counterfeit product (as realized by CBP's jurisdiction) boils down to:

Bares a Registered Trademark and does not have a signed letter of authenticity by the trademark holder authorizing its import.

That is super broad and covers a lot of things most people would think to be false positives like legit items sold second hand.

But even that doesn't cover thinking OnePlus Buds are AirPods.

<comment><USER3> Isn't the fact that nobody involved in this seizure could tell that they weren't AirPods counterfeits a form of evidence that OnePlus Buds may in some circumstance be AirPods counterfeits?

<comment><USER4> Maybe it's evidence that AirPods are counterfeit OnePlus Buds.

If you want your customers to be assured of getting the genuine article you should put an actual trademark on your product. Apple shouldn't get to claim that anything with a minimalist design is a counterfeit Apple product.

<comment><USER5> They look exactly like AirPods, though, which is a design Apple created, as an evolution of EarPods. When EarPods were released, they looked unlike any earbuds ever released, despite the fact that ear buds as a product have existed for 30 years or more. If it were as simple as "minimalist design" any of the 100+ ear bud manufacturers of the past 30 years could have designed something similar.

Apple never gets enough credit for their design work in the general tech community. Lots of design work can look "obvious" or minimalist in hindsight.

</comment></comment></comment></comment><comment><USER6> The CBP is very hard to deal with. I once bought about 100 electronic items that come with AC adapters to power them.

Unknown to me, the AC adapters had fake UL marks on them. So, the CBP seized the shipment. I asked if they could just seize the adapters, and explained that I hadn't even asked for UL listed adapters. No dice. The adapters represented less than 10% of the value of the shipment. Argh.

And, of course, the Chinese supplier wasn't willing to reimburse me. Now I have the adapters go in a separate shipment in case something unexpected is shipped.

<comment><USER7> Did you try sourcing adaptors without fake markings?

<comment><USER6> I thought it was pretty clear that the fake markings surprised me and that the adapters were not the main item sourced.

<comment><USER8> It was, but the follow-up action designed to minimize risk of loss when caught by customs rather than avoiding import of fraudulent goods blurred image of your intentions.

If you can get the shipments split, I'm sure you could also get them to not send the power adapters at all. If, however, you needed power adapters, you need to import proper ones - not just for legal reasons, but for the safety of the end-users.

<comment><USER9> > _It was, but the follow-up action designed to minimize risk of loss when > caught by customs rather than avoiding import of fraudulent goods blurred > image of your intentions._

It seems pretty clear to me, I think you're missing the point of the post. It's that this person is protecting his business in a way that's effective because the government isn't, and this is what he's forced to do when dealing with agencies that claim they're looking out for his best interests.

<comment><USER10> CBP in this case isn't looking out for _his_ best interest, they're looking out for the _consumer 's_ best interest. Counterfeit goods? Well, now the whole thing is suspect. It makes sense to me.

<comment><USER6> Counterfeit probably isn't the best word for this. It was whatever brand adapter it said it was. The UL mark was fake.

After this happened I found that's pretty common. Not that it's okay, but there's tons of generic electronics on Amazon that come with adapters with a fake UL mark.

<comment><USER11> They are absolutely counterfeit. They don't need UL brand standards but are represented as such.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> The products here may be considered legally counterfeit for one or more reasons other than simply using the word mark APPLE. For example: (1) trademark or trade dress infringement if the product's decorative features (color, etc.) or packaging copies a registered trademark of Apple, (2) copyright infringement if the product contains copied Apple code without a license,(3) patent infringement if the product implements some patented Apple technology without a license, (4) design patent infringement if the product is a copy of an Apple-patented ornamental design, or (5) some other copied intellectual property.

<comment><USER13> It's reasonable to think that One Plus could be found to be infringing on Apple's trademarks or design patents, but that would have to be decided in court. It's rather strange that customs could decide that some product clearly labelled with one trademark (and an established one at that) are counterfeits of another.

<comment><USER14> > that would have to be decided in court

Apparently not. A lot of stuff doesn't need to be decided in court when you're in an airport - it's a legal grey area (or so I've heard).

Border protection can pretty much do whatever they want in the name of national security and get away with it.

</comment></comment></comment><comment><USER15> OnePlus official reply to CBP tweet. Hey, give those back! Upside-down face. [https://twitter.com/OnePlus_USA/status/1305366058501509121](https://twitter.com/OnePlus_USA/status/1305366058501509121)

<comment><USER16> Yah, what's with the 1+ logo on the package?? They just came out with their new wireless headphone a couple months ago.

Edit: saw others comments re: possibly at Apple's behest due to perceived infringement. Though I'm sure we'd have read about that before now.

</comment></comment><comment><USER17> 2 days before, the CBD confiscated a pile of real "fake airpods": [https://www.cbp.gov/newsroom/local-media-release/cbp- seizes-...](https://www.cbp.gov/newsroom/local-media-release/cbp-seizes- over-650k-fake-apple-wireless-earphones-charging-cables-lalb) so this is clearly a thing.

Unfortunately OnePlus have got caught in the crossfire.

<comment><USER18> Heck, there are fake AirPods in every store ever, go to Walmart (tall order with the pandemic) and you can see fake AirPods in the checkout shelf... lol

<comment><USER19> Aren't those just knockoffs rather than fakes being passed off as brand name Apple AirPods?

<comment><USER18> They are, but I'm assuming customs seize shit that "looks like" brand name goods while claiming they are totally not pretending to be.

If that's the case, I'll take a hundred Totally-Not-Yeezys please

</comment></comment></comment></comment><comment><USER20> [https://twitter.com/OnePlus_USA/status/1305366058501509121](https://twitter.com/OnePlus_USA/status/1305366058501509121)

</comment><comment><USER21> To be fair, OnePlus Buds appear to be counterfeit AirPods in everything but the name. Same shape, same white plastic, same metal endcaps, same black dots, even the same case design.

In other words, a straight-up rip-off of Apple's design with a few minor changes.

<comment><USER22> The phone your holding has the same screen in the front, camera on the back, a home button, and the keyboard shows up on the bottom when you're typing. Maybe even the same front camera design.

All of that is just straight-up rip-off of.. everyone's phone?

<comment><USER21> The smart-phone form factor is largely determined by the rectangular screen, and for the cameras to be useful, they have to be on the back and/or front.

The keyboards are very different in design between Google and Apple, and many phones don't have home buttons. Some even have more buttons.

Conversely, there's nothing about ear-buds that force you to use white plastic with black grills for the holes, EarPod-style stems, or metal tips on said stems, nor a white round-rect pill box to store the things in.

The lazy OnePlus people _chose_ to copy those features, making their product look like Apple's.

<comment><USER23> The stems come from the antennae required for a solid connection, IIRC approximately 30mm long. The OnePlus buds are available in a number of colors. Metal tips on said stems is also a design decision to allow charging by slotting them into the container. The form factor of the container follows from the design of the stems.

</comment></comment></comment></comment><comment><USER24> Interesting... apparently it qualifies as a counterfeit even though it doesn't say Apple anywhere on the box? Or is the image caption wrong - maybe they're counteirfeit OnePlus earbuds?

Oh BTW, it's "seize", not "sieze" :)

</comment><comment> np- I am no CBP fan either, but has anyone considered the case that these are counterfeit AirPods in counterfeit OnePlus earbud boxes? If you look at the opened box picture in the CBP memo, you will notice the earbuds do NOT match the picture on the OnePlus box and look much much more similar to actual AirPods.

<comment><USER25> I did a double-take based on your comment, but after looking closely at the CBP pictures, and the pictures in this review [1], I think they are likely to be OnePlus pods.

The thing that caught me (and maybe you) is that the OnePlus pods have a flat part, and the CBP pictures have no flat part. But looking at the pictures from the review, the flat part is the end of the stem, and then the bulbous round part that goes in the ear is attached to the stem, with the flat part on the other side. The CBP pictures may have the flat part facing away from the camera.

I had to look at several of the pictures in the review which showed two pods next to each other to build a mental model of their shape.

[1] [https://www.theverge.com/21331910/oneplus-buds-wireless- earb...](https://www.theverge.com/21331910/oneplus-buds-wireless-earbuds- review-price-design-sound)

<comment> np- Good call. You're totally correct, I was thinking about it from the wrong angle.

</comment></comment></comment><comment><USER26> What's next, seizing Surfaces as "counterfeit iPads"?

What a sad state of things.

<comment><USER27> [https://bonkersworld.net/obvious- similarities](https://bonkersworld.net/obvious-similarities)

</comment></comment><comment><USER28> Perhaps this is linked to the China and US trade war?

Maybe US customs have been instructed to be harsher on Chinese company imports?

Not saying it is necessarily unethical considering that China is no doubt doing similar.

<comment><USER29> I'd be more tempted to apply Hanlon's razor: Don't attribute to malice that which can be explained by stupidity.

<comment><USER28> Thats fair, it just crossed my mind as a possibility given the current climate.

<comment><USER30> Also sometimes stupidity and malice amplify each other.

</comment></comment></comment></comment><comment><USER31> Sidebar: Why has the AirPod design become so ubiquitous? I always thought they were the ugliest earbuds since earbuds became small. Is there some technical reason they have this design? Or do people actually like it? Or is it simply the Apple effect?

<comment><USER32> 1\. Apple removed the headphone jack. 2\. Apple stopped giving out dongles in the box. 3\. Apple limited others' ability to compete by including proprietary chips in iphone and airpods. 4\. Apple marketed airpods as a status symbol. 5\. People bought into the hype.

Objectively, airpods are the worst wireless earbuds in the market on every single metric, but still command a premium price.

<comment><USER33>
       Objectively, airpods are the worst wireless earbuds in
       the market on every single metric, but still command a
       premium price.

May be a good time too look up that the word "objectively" means.

<comment><USER32> I am not a native speaker, but I do feel my comment was accurate. For the price of an airpod, you can get other brand earbuds that are better in every metric relevant to an earphone.

</comment></comment></comment></comment><comment><USER34> If they have an identical shape to AirPods, they could run afoul of a design patent. But they look different to me.

That's still not "counterfeiting". The difference between counterfeits and knock-offs (KERFs) is consumers will help you fight counterfeiting and will go out of their way to buy knock-offs.

</comment><comment><USER35> Hard to be counterfeit if you don't claim to be the thing....

</comment><comment><USER36> Wow, & what exactly is the objective of boasting such dumb claims on social media for a govt body?

<comment><USER37> US Government bodies do a lot of public outreach, many have twitter/social media accounts as part of that effort. There are many reasons for this- the aforementioned help at budget time, Government officials geniunely want to be seen and celebrated as doing a good job, and a surprising amount of belief that the American people should see what "their" government is doing.

The interplay with that last point (belief in transparency) interacts with institutional secrecy in weird and hillarious ways. I remember one project I worked on was shrouded in secracy to the individual teams working on it until a news program showed up and talked to the public affairs office and senior leadership. After watching the broadcast, we all of sudden understood what the heck it was we were working on!

</comment></comment><comment><USER38> > It can be hard to tell a difference between AirPods and some earbuds that > resemble them, but checking the box is always a good start.

Seems to me this is very related to a classic RTFM.

</comment><comment><USER39> So what exactly is the difference between those and the ones Amazon [https://www.amazon.com/OnePlus-Buds-Wireless-Earbuds- Chargin...](https://www.amazon.com/OnePlus-Buds-Wireless-Earbuds- Charging/dp/B08CVMXPGY) says I can get tomorrow for $79?

<comment><USER40> The implication seems to be that they're genuine OnePlus earbuds, and CBP thinks they're airpods. The two models do look a lot alike.

It'd be like CBP seizing a bunch of Samsung Galaxy phones, claiming they saved the USA from counterfeit iphones.

I really hope I'm missing something.

<comment><USER41> Apple originally claimed that the Samsung Galaxy phones were a direct counterfiet of their work. They sued, and Samsung made changes.

OnePlus buds are a new product (I think released in 2020). It's probably just an honest mistake by the CBP, but it could also be they have some official direction to seize these OnePlus products either because Apple considers them to be infringing, or the Feds are acting as part of the broader trade-war.

</comment></comment></comment><comment><USER42> They also claimed that the lightning cables were fake, when they looked quite real:

[https://twitter.com/sneakdotberlin/status/130491195246486732...](https://twitter.com/sneakdotberlin/status/1304911952464867328)

This is the same portion of the US government that runs the concentration camps in Texas (and has endlessly harassed me personally for exercising basic human rights), so I'm not that surprised that they remain dumb as rocks.

They also recently expelled 8800 unaccompanied children(!):

[https://www.wpri.com/news/us-and- world/about-8800-unaccompan...](https://www.wpri.com/news/us-and- world/about-8800-unaccompanied-children-are-expelled-at-us-border/)

</comment><comment><USER43> I think it's highly likely that the shipping manifest said Apple AirPods on it in an attempt to avoid importation tariffs.

This stupid business of implementing tariffs and then giving specific companies exemptions is not exactly fair, but its also not the fault of CBP.

</comment><comment><USER44> I wonder which lawyer will seize on this announcement as evidence of genericisation?

</comment><comment><USER45> What if they're counterfeit OnePlus products and somehow the message to be released to the public was lost in a 'telephone' game? Brand name dilution can cause some less tech-astute folks to refer to earbuds by the popular AirPods brand name. And given the visual similarity it's easy to see how this kinda thing could cascade from a miscommunication like that.

That said it's also pretty believable that CBP thought they were intercepting clearly marked OnePlus goods as infringing on Apple's trademarks....somehow...

<comment><USER46> The CBP tweet says they're seizing them for not being Apple.

<comment><USER47> They used an actual fscking apple emoji in the tweet, which I hate almost as much as the kafkaesque injustice.

</comment></comment></comment><comment><USER48> They look so similar to the Huawei Freebuds 3 sitting in my desk, except that the top cap is also round.

Edit: it appears that the OnePlus buds are also fully round

</comment><comment><USER49> So this is just theft by the government in open daylight, right?

<comment><USER50> I for one, cannot get over this: [https://www.ebay.com/sch/i.html?_nkw=tsa+lot+of&_trksid=p233...](https://www.ebay.com/sch/i.html?_nkw=tsa+lot+of&_trksid=p2332490.m4084.l1313)

Pretty much theft and resale.

<comment><USER51> What is the TSA supposed to do with these other than auctioning them off?

<comment><USER52> If they consider them to be safe enough that it is not unethical to sell them in job lots to members of the general public, maybe they shouldn't be seizing them in the first place?

<comment><USER53> Context matters. I don't see a problem with a job lot of chef's knives, but I definitely wouldn't want somebody to carry one as cabin luggage

<comment><USER54> Before the change in policy you could choose to have the items moved to checked baggage, or packaged and shipped separately. Seizing the items is not the only alternative to letting them into the cabin.

</comment></comment></comment></comment></comment></comment><comment><USER55> This is probably a combination of a Section 337 investigation by the USITC that includes OnePlus in its scope and directs CBP to seize certain OnePlus goods, a bombastic press release from CBP, and The Verge reporter not being insightful and generating clickbait.

[https://www.usitc.gov/press_room/news_release/2019/er0926ll1...](https://www.usitc.gov/press_room/news_release/2019/er0926ll1167.htm)

<comment><USER56> The Verge's quality has tanked so hard over the last few years. What happened?

<comment><USER57> I'd be interested in a writeup of that as well. The cavalcade of stupidity and maliciousness that was the Verge PC Build debacle leads me to think some quite bad stuff has been going on behind the scenes.

<comment><USER58> I think that was more a case of "we need a PC build video, they're trending right now... _...hey Josh, you know about computers, right?_ "

IMO, they should've done more due diligence first to avoid teeing off the super-elitist subset of enthusiast people

<comment><USER57> You need to be an elitist to object to someone building a PC in a way that doesn't work and voids warranties and then fixing it during jump-cuts without telling the viewer? You need to be an elitist to take issue with the Verge using takedown notices to attack everyone who pointed out their failures?

<comment><USER59> I was not aware of the takedown notices but I watched a couple of the "response" videos and they came across as extremely malicious/toxic. I can see why The Verge would want to do everything in their power to counter that. There are better ways to criticize something.

<comment><USER57> Pretending to be an expert at something while giving people advice that is not only wrong but dangerous makes you fair game for absolutely any and all criticism.

</comment></comment></comment></comment></comment></comment></comment><comment><USER60> They do look like Airpods from the picture, not OnePlus - i dont see the chrome/metal disc on the back of the earbuds that OnePlus pods have. The case matches the OnePlus case though. So its possible they really are counterfeit. Admittedly the picture is very low-res so its hard to be sure.

</comment><comment><USER61> Well this is just dumb, but it might be cheaper than any advertisement OnePlus could have done to increase their brand recognition.

I have had a OnePlus3 and a OnePlus 7T, both of which were, and are still, fantastic phones.

<comment><USER62> My 7 Pro is a fantastic phone. My next phone will likely be OnePlus as well.

</comment></comment><comment><USER63> sums up my opinion of the bp

</comment><comment><USER64> CBP remains the worst law enforcement agency in the country

</comment><comment><USER65> I just noticed a lot of suspiciously cheap AirPods show up on the Facebook marketplace here in Sydney. I think that the shipments here didn't get seized.

</comment><comment><USER66> Maybe not counterfeit, but you still can't argue this design is stolen pretty much straight from Apple.

<comment> yjftsjthsd-h Right, just like how the iPhone design is stolen straight from the pocket PC. /s

Apple doesn't own a product type just by using it.

<comment><USER67> You think it's funny (the sarcasm), but Apple does go to court arging "look and feel" is copyrightable. [https://en.wikipedia.org/wiki/Look_and_feel](https://en.wikipedia.org/wiki/Look_and_feel)

</comment></comment></comment><comment><USER68> Not sure I understand how this is newsworthy exactly, people make mistakes (even those on HN) and there is due process and recourse for whoever was impacted by this mistake.

If the implication is that if law enforcement make mistakes they cannot be legitimate then I think we should just give up on the idea, but I guess this is more or less what is being advocated for, so maybe it can be stated more directly.

<comment><USER69> I guess it's the fact that they proudly declared the seizure which was obviously a complete fail at even the briefest glance at the pictures they provided.

It's funny and newsworthy.</comment></comment>


Show HN: Like Hacker News, but for videos - <AUTHOR> https://hackervid.io <comment><AUTHOR> Meant as a way for the hackers to enjoy a peer-curated and daily updated list of videos; like Hacker News, but for videos !

The source code is here on GitHub : [https://github.com/netgusto/hackervid.io](https://github.com/netgusto/hackervid.io)

<comment><USER2> Heh... apparently it's for everything, you haven't quite solved the problem of having it be "for videos" yet, unless you're just planning to delete non-video submissions.

If you want to limit it to just video submissions, you might want to have a whitelist of sites users can select from in the submit form, and then do some scraping/API work to find actual video links in the URLs. Having embeds in the threads would be nice, too.

Also, to me personally, your favicon and banner color look a bit too much like Youtube's.

</comment></comment><comment><USER3> I suggest canonizing the youtu.be links to youtube.com.

(I'm not sure about stripping the minute and seconds in the URL.)</comment>


The 10 Most Innovative Tech Products of 2011 - <AUTHOR> http://www.popularmechanics.com/technology/gadgets/reviews/the-10-most-innovative-tech-products-of-2011

<comment><USER2> Bizarre timing on this. We still have 25% of 2011 to go...</comment>


Unorganised teens? Try Notely - <AUTHOR> http://joeanderson.co.uk/blog/2007/05/11/unorganised-teens-try-notely/ <comment><USER2> I like the 37 signals stuff better for keeping track of notes and deadlines.

Group projects are strongly emphasized in my gradschool program so collaboration tools are essential.

lecture notes are posted as pdfs, so I like to just have a clickable link to the resources.

And I also like google docs for working on papers from work, school, or home and also collaborating with co-authors.</comment>


Ask HN: Good resources for learning TDD? - <AUTHOR>

I'm interested in learning test driven development (TDD) from both a theoretical and practical perspective. I work primarily with Ruby (using Sinatra for web projects) and Javascript. I'd be grateful for any learning resource recommendations, whether online or in book form. General tips also welcome! <comment><USER2> Read the Kent Beck book. Seriously. It's in Java but it's very easily understood and applied to Ruby. It's one of the most lucid and baseline explanations available.</comment>


Introduction to Applied Linear Algebra Vectors, Matrices, and Least Squares [pdf] - <AUTHOR> https://web.stanford.edu/~boyd/vmls/vmls.pdf <comment><USER2> Please don't deep link to PDFs when there is a sensible contents page that has more information and other links.

[https://web.stanford.edu/~boyd/vmls/](https://web.stanford.edu/~boyd/vmls/)

</comment><comment><USER3> As a rule-of-thumb, I would stay away from any "linear algebra" textbook that does not even have definition of an abstract vector space in the first few chapters. In a sense, it's like programming without data types.

When I was in high school, I learned linear algebra from similar textbook, but it wasn't until college (and that was an engineering linear algebra course!) that I got any sort of understanding of what it's really about.

</comment><comment><USER4> Interesting how k-means clustering is considered appropriate for chapter 4 of this 19 chapter book. I don't know anyone who even considers it related to the material in linear algebra (which is more about vectors, matrices, spectral values, and applications, whereas k-means is more an application of knowledge about algorithms and data structures). But I assume the pressure to sneak ML topics into dry fundamentals courses is inevitable.

<comment><USER5> K-means was in optimization in operations research decades before anyone heard of _machine learning_ in computer science.

 _Computer science_ was not a prerequisite to that work in optimization.

Optimization in operations research and much of applied math more generally are awash in important algorithms without reference to computer science and, really, e.g., the Dantzig simplex algorithm of about 1949, before computer science was a recognized academic field.

Such applied math includes A. Wald's work on _sequential testing_ in statistics, the fast Fourier transform, Gram-Schmidt orthogonalization, Gauss elimination, Gauss-Siedel iteration, the Hungarian method for maximum matching, Runge-Kutta in ordinary differential equations, and much more.

<comment><USER4> OK, but why is it in a book on Linear Algebra today? Look at any introductory Linear Algebra book more than 3 years old and you won't find it in the curriculum

<comment><USER6> Do you have a personal vendetta against clustering or something?

I don't know too much about linear algebra but I know I had to learn some when my boss wanted me to do unsupervised classification. Maybe the book just considers it a good application of the material.

What do old books have to do with what should be included in new books?

<comment><USER4> ML is hyped enough already and kids already don't know enough fundamentals. They're never going to sit in front of a Linear Algebra class again so the appropriate use of their time is to teach them as much linear algebra as possible and not to turn it into a class on today's hype train</comment></comment></comment></comment></comment>


Ask HN: What are some great retro computing projects to contribute to? - <AUTHOR> <comment><USER2> You might want to get in touch with the Computer History Museum to see if they have anything you're interested in.

[http://www.computerhistory.org/getinvolved/](http://www.computerhistory.org/getinvolved/)

And while this group is in Tasmania, maybe they could use the help.

[http://www.retrocomputingtasmania.com/](http://www.retrocomputingtasmania.com/)

</comment><comment><USER3> Leopard-WebKit is a version of WebKit targeting PowerPC Macs, including the still-very-useful G5 towers (mine has 8GB RAM!) to enable modern web browsing on those machines.

[https://sourceforge.net/projects/leopard- webkit/](https://sourceforge.net/projects/leopard-webkit/)

</comment><comment><USER4> CrowdSupply funding for Retro-uC: open silicon microcontroller with Z80, MOS6502, and M68K cores ;)

[https://www.crowdsupply.com/chips4makers/retro- uc](https://www.crowdsupply.com/chips4makers/retro-uc)

</comment><comment><USER5> You can help transcribe the code from the original Apollo Guidance Computer: [https://github.com/chrislgarry/Apollo-11](https://github.com/chrislgarry/Apollo-11)

<comment><USER6> I would wait until this is resolved before contributing: [https://github.com/chrislgarry/Apollo-11/pull/324](https://github.com/chrislgarry/Apollo-11/pull/324)

It's very likely to be a non-issue, but then again it might be (if it is not public domain..)

</comment></comment><comment><USER7> TempleOS has a fork called "Shrine"</comment>


It's the Latency, Stupid - <AUTHOR> http://rescomp.stanford.edu/~cheshire/rants/Latency.html <comment><USER2> From May 1996, so hopelessly out of date wrt specific technologies, but of course the principles are sound.

ADSL and cable connections are low latency, yes?

Wifi adds latency (and packet loss) - how much?

3G et al have high latency, but I'm not sure how much.

Anyone better informed want to share some numbers?</comment>


Ask HN: Should Clients or Contractors Pay for tools/licenses to do their job? - <AUTHOR> I've seen tech contractors asking the client to pay for common tools that they may need to do their job. This seems odd to me, given that in construction, a client would expect the contractors to bring their own construction tools. <comment><USER3> When we talk about "contractors" I'm presuming the tax term is the important differentiator here. Simply put, if you're a 1099 contractor or corp-to-corp (you are more or less your own employer but as a corp, not your self personally) then you are a value add service and you come complete with all the tools and licenses necessary to perform your function. You naturally write these expenses off as the cost of doing business and reduce your tax burden to some small degree. You charge the client for these items make no mistake, but you hide those charges by averaging them into your hourly bill rate.

Alternatively if you are a W2 "contractor" \- the fake way of hiring a full time person through an intermediary agency and not giving them any benefits, well thats a different story. They may call you a "contractor" but you're actually a regular ole employee (you likely don't meet the IRS test for "contractor" in this case even). In this case you collect paychecks and pay out of your own pocket for absolutely no-thing. If you do buy anything you expense it back to your employer for full reimbursement.

Still yet different, a real 1099 "contractor" who works on a time+materials basis can very rightly bill hours AND ask for reimbursement on expenses directly related to performing the paid task. Just the same way that a plumber comes to your house and charges you both for his time and the materials/supplies he consumes to do your job.

So in short, its not uncommon at all but it depends on the terms of the "contract" engagement as to whether or not is applicable in a certain case. If it was negotiated up front then its all good - otherwise it may be looked upon less kindly as a surprise later.

</comment><comment><USER4> For _tools_ I charge enough that I just buy my own ($150-$200/hr). Sometimes I can use them for multiple clients.

For _libraries_ , I buy a license for myself and tell the client where they can buy their own. If I waited for the client to buy the library it would take forever.

Hypothetically, if the client didn't pay much [1], and the contract was long, I might expect the employer to pay.

[1] I wouldn't work for them.

</comment><comment><USER5> In construction, the tradesman owns his truck and tools and delivers the output required.

If you're a consultant working on your own computer on your own network delivering output of your labor, than you should buy your own stuff — actually you have to in many instances.

But if you are expected to work on the customers equipment or be connected to the customers network like an employee, they need to provide the gear. If they don't, you're in a bad place, for example violating a license agreement for using their Microsoft stuff.

</comment><comment><USER6> Construction contractors cover the costs of tools in their bids. Either directly as a line item or indirectly in per unit costs or in worst case in the overhead line item. At the high bit, construction contractors own few tools and rent everything with line item markups for overhead and profit and backend discounts and rebates.

Or to put it another way,

      Contractor: the change will cost
      $10,000
      Client: Who is going to pay
      for that.
      Architect: You will. The client
      pays for everything.

</comment><comment><USER7> When we hire IT contractors who work in house, then we supply everything. I am not letting you plug your computer into my network. You use our software, so when the contract is over, and the next person has to maintain it, it is easier.

I have worked a remote contract where I was supplied everything. Laptop / SW / libraries. When the contract ended I returned everything. When the contract restarted 5 months later, guess what I received in the mail.

In IT, so much is 'unique version' that having contractor provided items causes a version control nightmare.

Construction uses more standard items. Although an individual might not own a XYZZY the contracting company should. And if not, they can usually rent it for a day or two. With SaaS this might become more of the case with IT.

<comment><USER8> In my experience, this is more for data protection reasons than anything else. Companies are simply paranoid now about any computer on the network for fear customer data leaves. At my company, when we have worked with third parties who demand this (which is common), this is the reason. All the other issues you cite can be solved by dictating a tech stack to your contractor - <USER2> will follow, as can of course be sued if they do not. Non-functional requirements like these are relatively easy to gather.

</comment></comment><comment><USER9> > given that in construction, a client would expect the contractors to bring > their own construction tools.

In construction, the contractor does not have to leave his drill to you so your house continues functioning.

Many software licenses are billed per project/per site. You can't expect the contractor to cover these for you for free.</comment>


A fast lock-free queue for C++ - <AUTHOR> http://moodycamel.com/blog/2013/a-fast-lock-free-queue-for-c++

<comment><USER2> Interesting!

One question though: Why not use the C++11 atomics with the memory order definitions given in atomic. This should give you full platform support even if its not implemented in your atomicops.h

Folly, for example, makes pretty much use of these implementations.

<comment><USER3> Author here :-) (Didn't know anyone actually read my posts! I was surprised to find this on HN.)

The only reason I didn't use std::atomic was because MSVC2010 doesn't support it, and I wanted it to work in MSVC2010 (2012 adds std::atomic support though, if I remember correctly).

I agree that having a bunch of messy preprocessor-soup implementations of atomic primitives is really ugly and not very cross-platform friendly -- in the future I think I'll just stick to std::atomic.

atomicops.h does use std::atomic for all compilers except MSVC2010 and ICC13 (which only has partial std::atomic support).</comment></comment>


Katy Perry's lawyers demand takedown of 3D printable Left Shark - <AUTHOR> https://gigaom.com/2015/02/05/katy-perrys-lawyers-demand-takedown-of-3d-printable-left-shark/ <comment><USER2> _NYU law professor Christopher Sprigman tweeted that he believes Left Shark is not copyrightable because it qualifies as a "useful article,"_

Useful for what? It's silly for Katy Perry's lawyers to waste everyone's time on this, but that is presumably why they are paid a fat retainer, and the shark thingy looks eminently copyrightable to me, notwithstanding my complete lack of interest in Katy Perry, her music, or her stage show.

<comment><USER3> Applying sense to copyright law will only lead to heartbreak. I would suggest the law professor knows more, and in any case the key point is that this looks like the sort of case where the most money wins.

<comment><USER2> I know copyright law pretty well, and a 'useful article' is just what it sounds like - something with a utilitarian function. [http://www.copyright.gov/fls/fl103.html](http://www.copyright.gov/fls/fl103.html)

I think that querying the utilitarian aspect of a toy shark is an entirely reasonable question, unless his original comment (which has since disappeared) was meant to be humorous.

<comment><USER4> The #LeftShark would be classified as a useful article if it was a costume. I dont think it was the case. I mean, the designer made it to be printed as a toy or a costume?</comment></comment></comment></comment>


The Future of Real-Time SLAM and "Deep Learning vs. SLAM" - <AUTHOR> http://www.computervisionblog.com/2016/01/why-slam-matters-future-of-real-time.html <comment><USER2> There's going to be a growing overlap between the two. I studied a bit[1] with one of the big SLAM research groups in the UK, and even several years ago, they were trying to combine SLAM and neural nets in various ways. A lot of their PhD students went on to ride the crest of the "deep learning" wave, and made a lot of money.

[1] Only an undergrad project a few years ago; I didn't do anything especially cool there.

</comment><comment><USER3> I think it's likely SLAM is one of those things (like Motion Planning) that will continue to be done with more formally well understood algorithms, but indeed will be integrated with Deep Learning for feature extraction/scene understanding/many other things.

</comment><comment><USER4> I work in the intersection of these, though primarily from SLAM background. The overlap between these communities has been increasing in the past two years. While I think this is great, I also see that a lot of people working in the field try to take Deep Learning as a 'one-stop' approach to solving SLAM. This is worrying. Any particular methodology, if embraced without understanding pros/cons, can lead to stagnation and local maxima. It was CRFs before that, and Factor Graphs, Particle Filters, or EKF Slam before that.

</comment><comment><USER5> This is interesting for 2016.</comment>


PayPal: Ten Days And Counting To Fix Drop Down Menu Bug - <AUTHOR> http://www.techcrunch.com/2008/05/25/paypal-ten-days-and-counting-to-fix-drop-down-menu-bug/ <comment><USER2> This isn't the first time small issues have been around for ages. At work, we deal with eBay and PayPal a lot (eBay not so much anymore) and jesus christ, some bugs that look so simple to fix, but are so annoying have been there for months

I know the process of fixing bugs, and sometimes it may be harder then it looks, but come on .. multi million company .. let's go :)

</comment><comment><USER3> "It's staggering that PayPal has not fixed this most basic payment issue immediately."

Have you ever tried to get customer service from eBay or PayPal? Enough said..

</comment><comment><USER4> Ah, I initially understood the title as: "If PayPal doesn't fix the drop down menu bug in ten days they're in big trouble!"

</comment><comment><USER5> Anyone got a plausible theory as to why it is taking PayPal so long to fix this one?

<comment><USER6> maybe everyone's been dumped on a project to deal with the rising numbers of ebay scammers? of course, i'd have to be highly optimistic to think that something _that_ useful was, in fact, happening. it's probably more like arrington said, it's stuck in a mismanaged bug queue.

</comment></comment><comment><USER7> Unbelievable! I would have fixed that in less than one minute!

</comment><comment><USER8> Michael Arrington would probably enjoy his life more if he were involved in open source software. Then when one of his "OMG THE SKY IS FALLING" bugs came up, he could just fix it himself.

Oh, nevermind. He just likes to complain. Good for ad revenue, dontchaknow.

<comment><USER8> He apparently even has enough free time to mod me down. Amusing.</comment></comment>


Khan's Academy Delivers iPad App - <AUTHOR> http://www.fastcompany.com/1823819/khan-academy-ipad

<comment><AUTHOR> I particularly like that they have planned ahead and made provisions for offline work.</comment>


IBM I: The Most Amazing IBM Product You've Never Heard Of - <AUTHOR> https://www.eweek.com/innovation/ibm-i-the-most-amazing-ibm-product-you-ve-never-heard-of <comment><USER2> I totally agree.</comment>


40 Super Sleek Fonts for Clean Web Design - <AUTHOR> http://webdesignledger.com/freebies/40-super-sleek-fonts-for-clean-web-design <comment><USER2> Always looking for new fonts to keep in my tool box, thanks.

</comment><comment><USER3> sweet, thanks!</comment>


Does tech discriminate against suits? - <AUTHOR> https://medium.com/@gregorymfoster/does-tech-discriminate-against-suits-2b3462f43d78#.r5k7wzxc8 <comment><USER2> It's funny - IMHO the Hoodie Uniform was developed because people didn't seem to care about fashion or the clothes they were wearing - the stereotypical devs. I can also see how this has come full circle now though, as I think to my own office and if anyone did come in a suit, they would stick out like a sore thumb.

On one level, it seems to be a shame - suits do show a kind of respect or reverence for the place of work. On another, I think suits have their place, but as work places aim to make their offices more people friendly (some would say to keep them in the office longer) people's attires will naturally mold to fit the environment. Perhaps the dying out of the suit is something of a reflection of modern work practices and should be just seen as another item of clothing someone chooses to wear, without the significance of it being 'smart' or 'formal'.

<comment><USER3> It seems the way to wear dress clothes in the startup/tech environment is not to wear a simple two-piece suit. The folks in my office that get away with business attire wear more stylish items such as vests paired with unmatching slacks, coupled with a bold-print shirt. These kinds of looks look way more difficult to create than going to Brooks Brothers and asking for two suits.

One legitimate reason why I would expect suit-wearers to be challenged is the fear of formal wear being required in the office.

<comment><USER4> > One legitimate reason why I would expect suit-wearers to be challenged is > the fear of formal wear being required in the office.

Business suits are business wear, not formal wear, which is a whole different category of clothing. Formal wear being required in the office would be a very odd thing, indeed.

<comment><USER5> > Formal wear being required in the office would be a very odd thing, indeed.

"I know it's inconvenient sometimes, but you would not believe how cheap it was to rent out this extra space from the local symphony orchestra."

</comment></comment></comment></comment><comment><USER6> Funny how things circle and change, and sometimes, like political parties, end up flipping completely over a generation or two.

I suppose the original reason tech rebelled against the suit was because a suit represented conformity, an aggressively enforced dress code. Now, I suppose you could say that tech aggressively enforces a casual dress code, to the point where wearing a suit becomes an act non-conformity. I'm not joking here, the blog post is absolutely right, wearing a suit may seem mildly eccentric in a tech company. I see various people (including coworkers) wearing suits, and there is a counter-culture element to it. Suits are worn in different forms at the Dickens fair, by jazz and ska musicians (and people in the audience), and by other counter-cultural types (there was a guy who worked at Peet's coffee who always wore a suit and bowler hat).

SF is a place where this is particularly mixed up, since SF was probably the most east coast-ish of west coast cities where it came to wearing suits as part of the old dress code, and there are still a few more conservative industries here (banking, law) where suits are work as part of the older formal work culture than a new countercultural trend.

As for me? I like suits, I think they look great. I have never been required to wear a suit to work, so I never really associated them with conformity (I wore them mainly at weddings and a very few parties, so I have positive connotations). Like Greg Foster (author of the post), people would give me a strange look if I wore a suit to the office, but now that I think about it, there actually is one guy who wears a suit to the office every day...

<comment><USER7> Personal anecdote time! My uncle is general counsel at a fairly conservative finance firm in FiDi. So he hits both banking and law. He once told me that it's due to tech culture informality that he doesn't have to wear a tie every day anymore.

</comment></comment><comment><USER8> Being a meekly frustrated warrior like many modern men, I sometimes imagine the process of putting a suit on in the morning as akin to donning chain mail and plate armor before a battle. Certainly it helps me get in the right frame of mind for the day, and when I get home the kids know I'll need to swap it for 'play clothes' before I'll roll around on the floor with them. I've worn a suit everywhere I've worked, even in casual companies on client-free days. It helps to enforce a separation between work and home which is, for me, a critical part of work/life balance.

Edited to add: you've already noticed the positive attention it's got you from senior management. This will only continue. And, until you can afford the real thing, I can wholeheartedly recommend having custom suits made by one of the visiting Hong Kong tailors which stop through every major city. They're inexpensive and the fit will be significantly better than off-the-peg. They won't last years but you'll get to pick every detail, and you can have a lot of fun with lining fabrics if you're not in consulting or law.

<comment><USER7> With the advent of Indochino, Proper Suit, Black Lapel, Dragon Inside, and more it's possible to get the Hong Kong tailor experience without having to find one of those scheduled to stop near you. Indochino and Proper Suit have storefronts in SF.

<comment><USER8> Ah true but part of the fun for OP will be having a smiling gentleman fondle his inside leg in an anonymous hotel suite. No app can reproduce that.

<comment><USER7> For that, there's always Craigslist!

Slightly more seriously, the Indochino storefront has you covered on that front.

</comment></comment></comment></comment><comment> rm_-rf_slash I think the problem is that most developers tend to be the nerdy types who didn't care much for fashion as a kid, or have the money in college to look good. Now they're in the workforce and they feel validated for dressing like shit: hoodies and pajamas are cute every once in a while but seriously, grow up and dress yourself like you're gonna get laid one of these days.

The way I see it, if you code, chances are you've got some coin. Find a look that matches your personality and stick to it. Plaid? Go for it. All black? Can't hurt. Vest and tie? Lookin' good. It doesn't have to be perfect, just wear what works. And for the love of God, even if you wear college clothes for the rest of your life, invest in a decent pair of shoes.

Ironically, the root of a lot of hacker culture is non-conformity. Jeans and a hoodie are a conformist statement if everyone else does it, whether you like it or not. And ask yourself why comfy clothing that can be slept in is promoted in work environments that prefer you to always be at the office.

My rule of thumb: dress the way you'd like to be seen by someone you want hiring or sleeping with you.

<comment><USER9> > Vest and tie? Lookin' good.

No, this really looks genuinely terrible. Never wear a tie without a jacket.

[http://putthison.com/post/29635680290/q-and-answer-when- can-...](http://putthison.com/post/29635680290/q-and-answer-when-can-i-wear-a- tie-without-a)

> The answer is pretty much "I work at a cell phone store."

(vest without jacket is just as bad, except it's "I'm a waiter")

<comment><USER4> > (vest without jacket is just as bad, except it's "I'm a waiter")

Pretty much only if it is a _black_ vest with black pants and black tie and black or white shirt.

<comment><USER9> Think of it like this, an order of formality:

\- Jacket \- Tie \- Vest

Each is a step up in formality, and should not be done without the previous, unless you're Nick Wooster, and you're not.

<comment><USER10> I've seen people wearing a tie with no jacket; they did not work at a cell phone store, nor did I think that they looked like they did. I've seen people wearing vests (with or without ties) without jackets; they were not waiters, nor did I think that they looked like they were.

I'm not sure if these alleged rules you speak of are codified somewhere, but given the context of the conversation (people around me are wearing hoodies and pajamas while I'm wearing a suit), I find it hard to imagine any combination of jackets, ties, and vests being truly inappropriate...

<comment><USER11> If you try something out, and think you look great, and find that others agree, then bin any given rule. But most people, most of the time, are most likely to look best following most rules.

Personally, I don't like the look or feel of a tie with no jacket, or a suit with no tie.

</comment></comment></comment></comment></comment></comment><comment><USER12> Nice write-up. Reminds me of the Steve Jobs portrayal on the excellent Pirates of Silicon Valley movie. Jobs and the other rebels mocked the "IBM types" in suits. Got nowhere in business world as "suits" dominated financing. Eventually, Jobs changes his appearance to look like a suit outwardly while inwardly being a rebel. Once successful, he reverts a bit to go back to rebellious appearance when inside of Apple while mocking IBM types and suits once again. While one suit with great poker skills, esp bluffing, straight up took his stuff and made a fortune off it working with other suits. That was Gates.

All in all, just goes to show that what a person could do was always more important than what they wore. Even worse, people often dress to deceive: pushing an image intended to influence observer for wearer's selfish benefit. Also called "dress for success." So, I have a bias where I watch out for that kind of thing. Interesting enough, Silicon Valley does the same thing with _their_ dress styles aiming to fit in. Gets to the point that it's almost a survival strategy where people often wear expected stuff to avoid getting filtered out due to appearance.

Props to Greg for simply wearing what he liked and letting his actions speak louder than his words. He and Jonathan have nice suits, too. Reminds me I need to buy another one as I rarely wear a suit and occasionally like how it looks/feels. I'll be sure to get whatever style everyone else isn't wearing to satisfy the rebel in me. :)

</comment><comment><USER13> To answer the question: maybe, somewhat? There's a pretty big difference between that and an actual dress code though, which is far worse. Wearing a suit at a tech company might draw a few weird glances or comments, but it won't get you fired outright. Wearing casual clothes at a bank will.

The fact that the culture isn't absolutely, consistently accepting is unfortunate, but it's much better than what came before.

I'm sure a bias exists, but it's subtle. It's the sort of thing that if you _expect_ , you'll _see more_.

> _They smile when the quirky and brilliant hacker wears pajamas and > rollerblades to the office, but when they meet the coder in a suit, their > polite expressions falter for a second._

Polite expressions faltering? That's the sort of thing you'll find if you're looking for it, whether it's there or not. A person wearing pajamas would have a larger effect in absolute terms; the difference is relative: a tech company would be more accepting of pajamas _than you 'd expect_ and less so of suits.

</comment><comment><USER9> > As long as I can remember my father would work 12 hours a day, 6 days a > week, wearing a suit to the office. I've always wanted to follow his > example.

What!? This is not something to be admired!

<comment><USER14> How is that different from a stereotypical startup work week?

<comment><USER11> ... the suit?

</comment></comment></comment><comment><USER14> I like to wear my suit to work a few times per year, just on random days. I've been approached by higher ups more than once with the question "Are you interviewing somewhere else?" First time I got a kick out of it, but after reflecting decided that it was a good way to send a subtle message now and then.

<comment><USER7> I wear a suit every Friday. People definitely notice. It helps that I sit directly along the path between the entrance and the main work area in the main SF office.

(And several coworkers probably suspect who I am. Hi!)

It's prompted a fair number of wisecracks, but people seemed to have warmed to the idea that implicit dress codes don't need to be strict.

<comment><USER15> that's a neat trick. probably comes in handy for friday happy hour.

<comment><USER7> It probably would, if I was clever enough to go to any of those.

. . .

Maybe I should.

<comment><USER15> you're already dressed for it and work in sf, you might as well stop in for a drink and strike up some conversations.

<comment><USER7> TODO: Figure out where to go for Friday happy hour.

</comment></comment></comment></comment></comment></comment><comment><USER16> A photo caption from the article: "Silicon Valley vs Mad Men — who would you rather be?"

But Mad Men is a show largely about its characters' bad behavior--their casual bigotry, crass money-grubbing, etc. If you're wearing a suit because you want to be Don Draper, you're not just a poor interpreter of television; you're probably a pretty poor excuse for a person.

I don't have anything against suits, per se. I'd point out that there are a lot of points on the spectrum between full-casual and a suit, though. I tend to wear business casual; comfortable, flattering, not too expensive. But it feels pretty grotesque to complain that you're being discriminated against for choosing to wear expensive, tailored clothing, especially when there are people really suffering discrimination because of their gender or the color of their skin.

<comment><USER17> Maybe the grim lesson is that a crass bigot in a suit gets better treatment than a decent person in casual.

</comment></comment><comment><USER18> This post reminds me of the 42Floors blog post from a while ago:

Another quick story before I really dive into this blog post. We had a gentleman over to interview for one of our account executive positions at 42Floors. He had strong experience leasing SF office space: great resume, great cover letter, did well in our initial phone screen.

When he walked in the door, we could hear the clacking of his shoes on our hardwood floor. He was dressed impeccably in a suit that probably cost more than my first car and was carrying one of those leathery-thingys that seemed to exist only for the purpose of being carried during interviews.

I stole a glance to a few of the people from my team who had looked up when he walked in. I could sense the disappointment.

We're all happily wearing blue jeans and sneakers. It's not that we're so petty or strict about the dress code that we are going to disqualify him for not following an unwritten rule, but we know empirically that people who come in dressed in suits rarely work out well for our team.

He was failing the go-out-for-a-beer test and he didn't even know it.

[http://web.archive.org/web/20140618142018/http://blog.42floo...](http://web.archive.org/web/20140618142018/http://blog.42floors.com/interviewing- at-a-startup/)

</comment><comment><USER19> It probably isn't read as a "Red Sneakers Effect" and so it doesn't serve you in the eyes of peers---even if idiosyncratic.

[http://reagle.org/joseph/2015/merit/merit.html#geek- superior...](http://reagle.org/joseph/2015/merit/merit.html#geek-superiority)

</comment><comment><USER20> The company I work for is extremely casual, but there are couple who wear suits to work every day (though sans tie) and nobody much care. That said if wear a suit at a conference then my first guess is not that you are a programmer, unless you do something else to highlight that you code for a living.

</comment><comment><USER21> I've noticed it's less about the suit and more about the tie. If I wear a suit without a tie to work, I get some compliments, but when I wear a tie, with or without a suit, the CEO will start joking that I'm going to a job interview later on.

A suit is just clothes. A tie is a statement.

<comment><USER11> I have yet to wear a suit to work, aside from my interview. I have twice worn a tie. No one noticed.

</comment></comment><comment><USER22> My personal experience is that tech folks tend to forget about clothing very quickly if you're actually competent.

If you go around throwing buzzwords everywhere, tech people make fun of you. If you also wear a suit while throwing around buzzwords, well, all the more fun.

</comment><comment><USER23> Hello privilege assertion.

<comment><USER8> Is that a kind of privilege escalation?

<comment><USER24> Yes, of the social engineering class. Really dangerous if you substitute the suit with a hard hat and a paperclip - access is granted to virtually all physical infrastructure.

<comment><USER25> (I think you mean a clipboard, not a paperclip.)

<comment><USER24> Yes, thanks! Although a paperclip is also a powerful tool when you need to open a computer without having a screwdriver available :P</comment></comment></comment></comment></comment>


Show HN: Build a Slack Clone with WebRTC Video Calling - <AUTHOR> https://github.com/ajb413/chat-engine-webrtc <comment><USER2> Make your Slack clone more HN-like (I mean threaded discussions) and it'll be more useful than the original.

<comment><AUTHOR> That's a pretty good idea. Creating that is entirely possible with ChatEngine. The example chat app in the repository mainly showcases the WebRTC functionality: [https://ajb413.github.io/chat-engine- webrtc/example/](https://ajb413.github.io/chat-engine-webrtc/example/)</comment></comment>


Is your startup costing you your life? - <AUTHOR> http://mikemichalowicz.com/financial-freedom-is-costing-you-your-life/

<comment><AUTHOR> I get what he's saying, however I'm divided. If you truly enjoy all that goes into a startup, or even you career/job, is it all that bad?</comment>


Microsoft Says Russian Hackers Exploited Flaw in Windows - <AUTHOR> http://www.wsj.com/articles/microsoft-says-russian-hackers-exploited-flaw-in-windows-1478039377 <comment><USER2> > Microsoft Says Russian Hackers Exploited Flaw In Windows > (And Blames > Google)

Jedd Says Microsoft Should Have Fixed The Exploit

Yes, it sounds like a short notice period (5 days or so?).

But ... from the chronology it's sounding like this particular exploit was performed long before Google revealed the vulnerability, and indeed a goodly time before Google reported that vulnerability on the hush to Microsoft, so I can't see how it's Google's fault.

EDIT: And, as per sentiment expressed by world+dog in previous threads about this particular event, Google's observation that exploits were already in the wild is the most important aspect of this story. If a vulnerability exists for some software I'm using, and I don't know about it _but the bad guys do_ ... I want to be told. I may not be able to patch, but I can _mitigate_.

<comment><USER3> So you think you are safer now that every single bad guy knows about it instead of one bad guy?

<comment><USER4> At least now you know what to defend against. Also, how do you know that only _one_ bad guy knows about it? If it's in a wild, all the bad guys will know about it sooner rather than later anyway.

<comment><USER5> How do I turn the specific knowledge of the exploit into a more meaningful defense than if I had vague knowledge there is a windows zero-day actively in the wild?

I'm not asking snidely. I legit want to know how this is leveraged in defense and what/how I can do.

Is it common practice in the pre-patch period to enable some sort of system call tracing that monitors for (and/or kills) processes that use the vulnerable call in a way described by the google blogpost? Or is there a sandboxing solution where I can blacklist filter certain uses of system calls?

<comment><USER6> > How do I turn the specific knowledge of the exploit into a more meaningful > defense than if [...]

By being able to raise an alarm and allocate actual time to fixing/mitigating it, unlike if it was only a vague warning. We know that there's never been a day where Windows didn't have a critical, remote-code execution, security flaw. Obviously if you're still using it management isn't doing anything proactive to improve security so you need these motivators.

</comment></comment></comment></comment></comment><comment><USER7> So this is how rumour becomes truth - the US government accuses Russia of hacking the DNC, either because they have some kind of proof (unlikely) or because it serves their global interests (likely), media publishes articles of this myth, and then _completely unrelated_ articles embed this "truth" in the title, even though the content doesn't really require it. Abhorent!

<comment><USER8> It's funny how conspiracy theories take more evidence that they are wrong as evidence that the conspiracy is bigger than they thought. So now, it's a bunch of us intelligence agencies, the wall street journal, the democratic party, several unrelated it security companies, microsoft and google that are all trying to frame the russians?

<comment><USER9> Just like there was no conspiracy to frame Iraq as having WMDs or being responsible for 9/11? I mean, all of NATO was on board, they couldn't have possibly been wrong.

<comment><USER10> So, because that conspiracy theory adopted some very well known (at the time) correct elements, then this one is also correct?

Then how about these: because Iraq was framed as having WMDs, then the Titanic was actually the Olympic rebadged and sunk as insurance fraud. The Moon? Man didn't walk on it, that's just an American lie because no WMDs. It's also a hologram, because Iraq didn't have WMDs!

<comment><USER9> Nothing else you mention has a documented history of government non transparency.

Foreign policy on the other hand continues to reveal events that occur not as they were originally described.

</comment></comment></comment></comment></comment><comment><USER11> How naive one government agency has to be to think backdoors are for them only.

How pissed was the FBI when the learned that now the Russians also have access to the voting machines.

They're using next decade technology with a 60 year old mindset.

</comment><comment><USER12> "New Shadow Brokers dump contains list of servers compromised by the NSA to use as exploit staging servers." -> [https://twitter.com/musalbas/status/793001139310559232](https://twitter.com/musalbas/status/793001139310559232)

Lots of .ru domains in that list. Attribution is hard if you care about being correct.

</comment><comment><USER13> Ok, I'm only going off the extremely limited information in this article, but this attack phishes users, gets them on a malicious webpage and then uses Flash as a vector to exploit an MS Windows vuln, right?

If that's the case, haven't Chrome and Firefox been blocking Flash for over a year now[0]? Considering the MS Edge is apparently not vulnerable (according to the article), that doesn't leave much market share left. If all of the above is correct, I'd say the surface area of this attack is pretty low.

[0] [https://archive.fo/oxlmT](https://archive.fo/oxlmT)

</comment><comment><USER14> On Microsoft Edge and Google Chrome, it can't be exploited because of win32k lockdown.

</comment><comment><USER15> Why would you submit an article that requires an account to read it?

</comment><comment><USER16> Russia has been so so bad again. Bla bla.

</comment><comment><USER17> First link that came up at google WITHOUT A PAYWALL:

[http://betanews.com/2016/11/02/russian-hackers-exploit- windo...](http://betanews.com/2016/11/02/russian-hackers-exploit-windows- security-flaw/)

And the Microsoft blog post:

[https://blogs.technet.microsoft.com/mmpc/2016/11/01/our- comm...](https://blogs.technet.microsoft.com/mmpc/2016/11/01/our-commitment- to-our-customers-security/)

<comment><USER18> Alternatively, get this addon: [https://addons.mozilla.org/en- GB/firefox/addon/refcontrol/](https://addons.mozilla.org/en- GB/firefox/addon/refcontrol/) or an equivalent for Chrome.

Then add www.ft.com and www.wsj.com sites with the Action of [https://www.google.com](https://www.google.com)

<comment><USER19> Hey, come work for me. I have an addon on Outlook that blocks emails where employees demand their salary.

<comment><USER10> ...I think my boss uses that.

</comment></comment></comment></comment><comment><USER20> Google's behavior seems strange:

[http://www.theverge.com/2016/10/31/13481502/windows- vulnerab...](http://www.theverge.com/2016/10/31/13481502/windows- vulnerability-sandbox-google-microsoft-disclosure)

"Google went public just 10 days after reporting the bug to Microsoft, before a patch could be coded and deployed. The result is that, while Google has already deployed a fix to protect Chrome users, Windows itself is still vulnerable — and now, everybody knows it."

<comment><USER21> IIRC from when this was originally reported, this was already being exploited in the wild prior to release. The only reason to not go public is to give the vendor a chance to patch it prior to general exploits being available. If exploits are already happening, waiting only endangers more people as they can't take actions to mitigate a danger themselves if they don't know about it.

<comment><USER20> There's no need to know the actual details of exploit to provide workarounds, if they exist. If they don't, everybody has to wait for Microsoft anyway, but the malware authors get one now famous 0-day. Instead of being used exclusively, it get to be available to everybody before Microsoft publishes the fix. And that is only in the interest of Google, not the customers. When today's Google writes something "gives clear benefits" you can almost imagine them as the film villain saying to the camera with the wink afterwards "for us, muahhaha." In this case I actually agree with Microsoft and with what they write:

"We believe responsible technology industry participation puts the customer first, and requires coordinated vulnerability disclosure. Google's decision to disclose these vulnerabilities before patches are broadly available and tested is disappointing, and puts customers at increased risk."

Edit: The distinction is important: the "malware authors" that have the access to the 0-day before Google publishes it are _a minority of all malware authors_ : 0-days are carefully guarded and have high price. The moment Google publishes the details, _the whole malware community has an access to something that is provably 0-day working exploit._ The difference is huge, more orders of magnitude, up to every script kiddie.

<comment><USER22> > There's no need to know the actual details of exploit to provide workarounds

Your premise is wrong - there is a need. The details can be used to create signatures for anti-malware software and IDSes by 3rd parties who are nimbler than Microsoft.

Additionally, there is more to be worried about than just workarounds: some organisations do full-take packet capture archiving and might be interested to know if they were hacked via this flaw (retrospectively) before (more) data is exfiltrated, the sooner they are made aware of an actively-exploited bug, the better.

> ... If they don't, everybody has to wait for Microsoft anyway, but the > malware authors get one now famous 0-day

Wrong again: there is no need to wait for Microsoft for the reasons I mentioned above. Before this, only the bad guys knew about the exploit, now the good guys also know about it and may work to mitigate it. We have no idea how well-known this exploit was in underground forums, so it is hard to quantify how many more bad guys know it for certain.

<comment><USER20> > The details can be used to create signatures for anti-malware software and > IDSes by 3rd parties who are nimbler than Microsoft.

No, you don't need to publish the details of the vulnerability to the public in order to cooperate among the anti-virus vendors.

> some organisations do full-take packet capture archiving and might be > interested to know if they were hacked via this flaw

Observing full packets has nothing to do with giving to the public the details of which system API flaw was used for the attack.</comment></comment></comment></comment></comment>


Bountii Opens Up Its Price Engine With Release Of API - <AUTHOR> http://www.bountii.com/apidocs.php

<comment><USER2> You guys rock. How did the holidays treat you?

</comment><comment><USER3> I wish I could search by UPC.

</comment><comment><USER4> Atta boy Johnny. ;)

</comment><comment><USER5> Nice move, bountii!</comment>


DockerUI - A web interface for Docker - <AUTHOR> https://github.com/crosbymichael/dockerui <comment><USER2> This looks very nice and seems like a great idea, however I was surprised to see "TODO: Unit tests" in the README, so I peeked around in the source files, and effectively it seems there are no unit tests at all in the repo.

I'm not a TDD test-first evangelist, but 3+ months worth of coding with no test?

<comment><USER3> I agree with what you say but sometimes when you're bootstrapping an idea, TDD/BDD can get on your way, slowing down things. I think the author created some prototype, released it and now is checking if it gets the community support. I was also checking the source code and the front end is done using AngularJS and the project's structure is not that nice. Again, I think this is because of the prototyping stuff.

<comment><USER4> Yes your right. I sat down and wrote the first pass of the UI in a couple hours and it was the first time I used AngularJS.

If you are AngularJS wiz and want to contribute feel free to open pull requests and clean up after me ;) DockerUI is licensed under MIT so code away.

<comment><USER4> Yes, _you are_ right.

<comment><USER5> No reason to be downvoted - I think some may be missing that you're correcting yourself.

</comment></comment></comment></comment></comment><comment><USER6> This looks really awesome, but there are enough new concepts floating around that I was hoping to check if I was putting the pieces correctly together.

So, to use this I would

1\. Setup a new VM (on Digital Ocean or wherever).

2\. Install Docker on the VM

3\. Install DockerUI

4\. Open firewall ports to let them communicate? And it uses the underlying Unix user permissions?

I must be missing something here.

</comment><comment><USER7> Starred. Any idea if this works with Dokku? I assume the way you provision up a container doesn't matter?

<comment><USER8> It should work fine for starting and stopping containers provisioned under Dokku. I played with this UI a few weeks ago and it seemed like a very promising front end. I'm keeping an eye out on Shipyard as well: [https://github.com/ehazlett/shipyard](https://github.com/ehazlett/shipyard)

<comment><USER7> Shipyard looks awesome.

</comment></comment></comment><comment><USER9> _Little to no dependencies - I really want to keep this project a pure html /js app. I know this will have to change so that I can introduce authentication and authorization along with managing multiple docker endpoints._

Or just let the web server handle auth?

</comment><comment><USER10> This is awesome! If you want some help, perhaps you should open up some issues?</comment>


Bootstrapping a prototype-based object-oriented language in 44 lines of code. - <AUTHOR> http://thingsaaronmade.com/blog/bootstrapping-a-prototype-based-object-oriented-language-in-44-lines-of-code.html <comment><USER2> Dup - comments are here:

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


Google Chrome Canvas is a digital note taking web app - <AUTHOR> https://goodereader.com/blog/tablet-slates/google-chrome-canvas-is-a-digital-note-taking-web-app <comment><USER2> Can't wait for this to be discontinued!

<comment><USER3> Please don't post unsubstantive comments here. Reflexive clichés are an example of that and should be avoided.</comment></comment>


MagicaVoxel: A free voxel art editor and path tracing renderer - <AUTHOR> https://ephtracy.github.io/ <comment><USER3> I highly recommend people check this out if you're interested in voxel graphics, or a simple way to make 3D graphics if you're artistically challenged like me. We used it to make a whole game and it was great: [https://www.larvalabs.com/project/roadtrip](https://www.larvalabs.com/project/roadtrip)

Here are some other awesome things made with it: [https://twitter.com/HuntingFluff/status/1046417418459975681](https://twitter.com/HuntingFluff/status/1046417418459975681) [https://twitter.com/Sir_carma/status/1051867299303440384](https://twitter.com/Sir_carma/status/1051867299303440384)

And in general I recommend following Sir Carma for inspiration: [https://twitter.com/Sir_carma](https://twitter.com/Sir_carma)

<comment><USER4> Nice looking game! The models look awesome!

Did you do any post-processing on the models from MagicaVoxel before using the models in your game? E.g. does MagicaVoxel export a single optimised mesh, or does it export a load of cube meshes?

<comment><USER4> Looks like it does export a single "optimised" mesh (at least when exporting to OBJ) - i.e. it not just a load of individual cube meshes, but each separate coloured face is optimised into 3 or 4 triangles. A face with different colours is treated as a separate set of triangles though, so something like a chess board pattern would be a lot of triangles, but a white cube would be hardly any.

I had some trouble importing directly into Unity 2019, this is what I did for anyone else wondering:

\- Export as OBJ in MagicaPixel

\- Import Obj & Png into Unity via drag-n-drop

\- In the prefab that is generated, on the model tab change the imported model's scale factor to 0.1 and hit apply.

\- In the prefab that is generated, on the material tab click extract materials and save in same folder.

\- Drag the Png texture you imported into the Albedo of the extracted texture.

You now have the textured MagicaVoxel model in Unity for whatever you want to do with it. Yay.

<comment><USER3> This process sounds a lot better than what we did a couple years ago when we were working on that game. Our process involved Voxel Shop [https://blackflux.com/node/11](https://blackflux.com/node/11) and a few steps. I can dig up the notes if it's interesting, but it looks like your process is better anyway.

I've also heard that this asset might be useful, but I haven't tried it yet: [https://assetstore.unity.com/packages/tools/modeling/magicav...](https://assetstore.unity.com/packages/tools/modeling/magicavoxel- to-unity-63336)

</comment></comment></comment></comment><comment><USER5> MagicaVoxel is great! Even though the program is not open source, the file format is documented by the creator [0]. For a small game I'm working on I read in the vox files and reconstruct the meshes in-game. I can then create procedurally destructed variations by tweaking the vox data and re-generating the meshes in-game [1]

[0] [https://github.com/ephtracy/voxel- model/blob/master/MagicaVo...](https://github.com/ephtracy/voxel- model/blob/master/MagicaVoxel-file-format-vox.txt)

[1] [https://twitter.com/MaxBize/status/1048717357319745538](https://twitter.com/MaxBize/status/1048717357319745538)

<comment><USER6> This is what every software should do. I don't care if software isn't free or open source, but file formats should be documented so that they can be read later or processed by other tools.

<comment><USER7> I'd go a little further than "documented". MS Office's .docx and .pptx files are "documented" but creating a compatible reader is a major undertaking. I wish people would hold off until there's an existing open source project that can at least decode the files enough to accurately convert the files to another format. Avoid lock-in before has a chance to take root.

</comment></comment></comment><comment><USER8> Few Questions:

* Who's [https://twitter.com/ephtracy](https://twitter.com/ephtracy)? Why did you create this? How are you using it this days? Are you making any games with this?

* How do you produce images like this? [1] Is the Ray Tracer to do that built in or do you have to import the models in a second software?

* What kind of support is there for the vox file format? (where/how to render outside the app).

1: [http://ephtracy.github.io/image/snap2016-07-02-17-16-08.png](http://ephtracy.github.io/image/snap2016-07-02-17-16-08.png)

2: [https://github.com/ephtracy/voxel- model](https://github.com/ephtracy/voxel-model)

<comment><USER9> The programmer is Sean T. Barrett:

* [https://github.com/ephtracy/stb](https://github.com/ephtracy/stb) * [https://nothings.org/](https://nothings.org/)

<comment><USER10> [https://www.youtube.com/watch?v=T0QEaHn4FfM&list=PLcGCKovuXY...](https://www.youtube.com/watch?v=T0QEaHn4FfM&list=PLcGCKovuXYkWhOkwhbI2uHBas5-hAKIWq) Buildbox 2 - First Walkthrough

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

[http://guillaumechereau.github.io/goxel/](http://guillaumechereau.github.io/goxel/)

<comment><USER11> The Buildbox UI is very similar to Magicavoxel

</comment></comment></comment></comment><comment><USER12> Please, creators, if you're reading this: Stop labeling things 8-bit that are in no way 8-bit except there are some big squares/cubes involved.

<comment><USER13> In this context, "8-bit" is a well understood name of an art style. In this context, it's well understood that this has nothing to do with the bus width of processor architecture or misc color/data bit widths.

Think of it as a label like "modern art", which is art from 1860s to the 1970s.

<comment><USER14> The tag line is on the site says:

> A free lightweight 8-bit voxel art editor and interactive path tracing > renderer.

Is the sentence in some way more clear with the modifier '8-bit'? What's being clarified?

<comment><USER15> That people are looking for "8-bit." For instance, someone might google "8 bit editor."

<comment><USER16> Someone might also google "audio editor", so why not also call it an audio editor to be on the safe side?

<comment><USER13> 8-bit style voxel art can easily be made with this. In fact, that's the intended use case.

This would be a very poor tool for creating audio, and anyone looking for an audio tool would notice this immediately.

"8-bit voxel" is completely understood to the target audience. Anything involving audio would not.

</comment></comment></comment></comment></comment></comment><comment><USER17> Absolutely brilliant piece of software, I'm a huge fan. It's extremely easy to get started with, and a very pleasant way to spend your time, whether you're a professional artist or not. Imagine building stuff in minecraft but 10x more convenient. And the developer keeps making it better and better.

A few things I've made with it:

[https://www.artstation.com/artwork/GY8D3](https://www.artstation.com/artwork/GY8D3)

[https://www.artstation.com/artwork/2VleJ](https://www.artstation.com/artwork/2VleJ)

[https://www.artstation.com/artwork/ryqk2](https://www.artstation.com/artwork/ryqk2)

Follow the developer for a lot of awesome and inspiring examples:

[https://twitter.com/ephtracy](https://twitter.com/ephtracy)

Also I've made a little collection of my favorite artworks:

[https://www.artstation.com/rayalez/collections/184272](https://www.artstation.com/rayalez/collections/184272)

</comment><comment><USER18> Here's a time lapse of William Santacruz using MagicaVoxel to make some Mario fanart [1]. I recommend playing at 2x speed.

Gives you a good idea of what the app can do as well as how voxel modelling is different from traditional polygonal modeling like in Blender.

[1] [https://www.youtube.com/watch?v=bPtw7L-lV7Y](https://www.youtube.com/watch?v=bPtw7L-lV7Y)

</comment><comment><USER19> [https://github.com/ephtracy/ephtracy.github.io/issues/108](https://github.com/ephtracy/ephtracy.github.io/issues/108)

I understand the reasons, but it's always disappointing to see a project on GitHub that doesn't actually plan on releasing source code.

<comment><USER20> Strongly disagree.

GitHub is among other things a platform for sharing.

Sharing should not be obligatory.

When someone shares something, if you like it, be grateful, and if you don't, just move along.

If you want to know how it's done just go and read some open source voxel library - there are ton's of them. If you are interested on the path rendering part there's lots of awesome didactic resources for that as well.

If you don't trust the author and are afraid that the code does something nasty - just don't use it.

If the author feels he is not contributing - or not willing to contribute - <USER2> the state of the art in voxel techniques or path rendering (both of which are _totally fine stances_ ) then there really is no value in showing the source.

If someone creates a free tool for making art, their contribution should be cherished, and their tool used for art, and appreciated for it's artistic merits. Don't give shit for the author for releasing the free tool on his own conditions. If you don't like those, move along. Or, if you are inspired, go make your own and open source it!

By the way, that discussion is just horrible. The author lays open the reasons why he does not want to release it and the other party just disagrees. "We could help you with the patches... I would like to read the code that I run".. Oh really? I wonder if he really has read through the entire codebase of the operating system and all of the drivers and all of the programs he runs.

"Helping out with the patches" without adult supervision can lead to this:

[https://www.telegraph.co.uk/culture/art/9491391/Elderly- woma...](https://www.telegraph.co.uk/culture/art/9491391/Elderly-woman- destroys-19th-century-fresco-with-DIY-restoration.html)

I totally understand why the author would not like to nanny the internet's eager contributors. An open source project needs a huge cultural effort to collect and coordinate technically savvy key contributors before it can work. That won't happen automatically. Not everybody yearns to be a benevolent dictator for life of this or that.

<comment><USER21> It'snot obligatory but it's still disappointing.

<comment><USER20> Why is it disappointing? Sorry, I really don't understand and would like to.

<comment><USER22> "disappointing: failing to fulfill someone's hopes or expectations."

I think you're viewing it from the "expectations" side, while binarycrusader, pawelmurias, and I are viewing it from the "hope" side.

If this were open source under a license that makes sense to us, I think all three of us were thinking we'd like to use the code to do other things. That's just a hope.

<comment><USER21> If it's on github you kind of expect it to be an open source.

</comment></comment></comment></comment></comment></comment><comment><USER23> For Linux users: the 64bit Windows version runs fine in Wine.

</comment><comment><USER24> There's a cool little project called "particubes" that is a sort of "magicavoxel lite" on iOS. It's pretty fun to sketch 3D scenes on the go on an iphone. Authors are pretty responsive too.

</comment><comment><USER25> I love this program, I find it so relaxing to simply listen to some music or a podcast and create some unusual works or art with it. I would love for the creator to make an iPad version one day though, I think using the stylus to work with this tool would be fantastic.

</comment><comment><USER26> Last time I checked its canvas size was quite small. One could not construct minecraft like landscapes in it.

<comment><USER27> You can adjust the canvas size. There's a place where you can enter the voxel x voxel dimensions you want to work in.

Edit: in a recent update it added support for 1024 x 1024 scenes.

<comment><USER11> For those like me that couldn't work out how to create bigger scenes, the world editor is available by pressing TAB or clicking the TAB icon above the top-right corner of the main view.

</comment></comment></comment><comment><USER28> The speed and quality of the rendering is insane. I would love to know how it is done.

</comment><comment><USER29> Looks cool! Is there a way to make the UI / fonts bigger on 4k monitors?

<comment><USER30> You can scale the UI [https://twitter.com/ephtracy/status/934877261135843331](https://twitter.com/ephtracy/status/934877261135843331)</comment></comment>


Rethinking Programming Language Tutorials - <AUTHOR> http://prog21.dadgum.com/67.html

<comment><USER2> > "After all, the reason to learn a programming language is to do something > useful with it, not simply to know the language."

Probably not for people who create languages and that's one reason why programming language tutorials are what they are. They assume knowledge of some language and just go ahead with that.

Isn't that a good thing? Once you learn programming, you're really interested in learning a specific language and can discover the rest yourself. Should every _language tutorial_ begin with a _programming tutorial_? I think it's a good thing they're not the same.

PS. One of the best _language tutorials_ I've seen is: <http://ooc-lang.org/> \- assumes basic knowledge of other languages, in a couple of pages describes most of the stuff a programmer would be interested in. And it reads like a book, not a specification.

<comment><USER3> I completely agree. For example, he gives the example of an "associative array" as a concept that shouldn't be used to explain what a Lua table is, but really, for anyone with a moderate amount of programming experience, this is probably the most concise way of describing it.

It really depends on the audience. Someone who knows absolutely nothing will want a considerably different type of tutorial than someone who is already fluent in several languages. The latter just needs to be presented with a mapping between the given language and a language they are familiar with, and the "table" -> "associative array" analogy is pretty excellent from that standpoint.

<comment><USER4> A good example for a language tutorial with audience considered and selected is the official python tutorial. If you are firm in some other object oriented language, this tutorial can teach you almost the entire working set of python in a day, at most. However, if you have no clue about programming, understanding this tutorial will be extremely confusing and time consuming to the point of being pointless.

I have to say, I like this very much. I could just walk through this tutorial and associate existing concepts with pythons implementations of these concepts and just use it. Other language tutorials tend to annoy me by changing the level quite a lot or being way too low level.

</comment></comment></comment><comment><USER5> Here are some Haskell tutorials that _do_ introduce the language by walking you through an actual interesting problem:

Use simulated annealing to solve a computational geometry problem: _"The final program will have less than 100 lines of Haskell and will organize a mass picnic in an arbitrarily-shaped public park map and will print pretty pictures showing where everyone should sit!"_ <http://www.lisperati.com/haskell/>

"Write Yourself a Scheme in 48 Hours" (implementing a simple parser and interpreter): [http://jonathan.tang.name/files/scheme_in_48/tutorial/overvi...](http://jonathan.tang.name/files/scheme_in_48/tutorial/overview.html)

Most chapters of _Real World Haskell_ also take this form. For example, it walks you through writing a parsing library, and a barcode scanning program: <http://book.realworldhaskell.org/>

<comment><USER2> Just to add to the _programming tutorials_ list, here's one for (/from) the Haiku project / C++: <http://www.haiku-os.org/tags/tutorials> \- a series of blog posts.

<comment><USER5> Thanks, it pleases me so much to browse through these. The first desktop apps I wrote were on BeOS[1], and it's still the best-designed GUI toolkit (and probably the cleanest and most usable C++ API) that I've seen. Kudos to the Haiku project for keeping the flame alive.

[1]: <http://www.advogato.org/person/mbrubeck/diary/101.html>

</comment></comment></comment><comment><USER6> "Programming language tutorials shouldn't be about leaning languages. They should be about something interesting, and you learn the language in the process."

\-- I'd say this is the approach Michael Hartl has taken with Railstutorial.org. Learning the language is important, but it seems to me that, having been through this tutorial and his previous "RailsSpace," the most important stuff I've learned is how a programmer thinks. Programming language tutorials shouldn't be about leaning languages. They should be about something interesting, and you learn the language in the process. Re- Factoring. Test Driven Development. Version control.

Needless to say, if you know anyone with zero programming experience who wants to get up to speed quickly on web development, so he or she will know what you're talking about, what's possible, and what's not, I highly recommend Hartl's work.

\-- Fred

</comment><comment><USER7> In defense of the excellent but not-beginner-optimized _Programming in Lua_ , its back cover describes it as "targeted at people with some programming background".

<comment><USER8> I also want to defend _Programming in Lua_ , which is probably the best single book devoted to a programming language that I've ever read (only K&R comes close). I'm not alone in thinking highly of it--on Amazon, of the 30 reviews, 25 give it 5 stars and 4 give it 4 stars. The book is not really for beginners, as you can tell by the fact 30 percent or so is devoted to the C-Lua API, but since when should every book on programming be targeted to beginners? The book covers many interesting programming methodologies while giving a complete and thorough tour of the language.

In fact, though, Lua is a sufficiently simple language that programming novices generally have no problem learning it, and the first third or so of PIL should get the beginner on his way very nicely.

<comment><USER9> I think the confusion may come from Lua _the language_ being designed for / promoted as scaling downward to a simple scripting or data-description language. You can learn it in several passes, doing useful stuff with it without advanced stuff (coroutines, metatables, tail calls, the C API, etc.) getting in the way of the basics.

_The Awk Programming Language_ is another slim and lucid language book. I don't use awk for much beyond one-liners (usually at that point I switch to Lua), but it has some real gems.

</comment></comment></comment><comment><USER10> I wonder if a modern, practical programming language could be taught through a game where you "level up" on the basis of language knowledge.

Maybe something like a game which teaches concepts like Message Passing and concurrency using an Erlang like syntax or Metaprogramming through Clojure</comment>


Backbone.js by example - <AUTHOR> http://www.javageneration.com/?p=839

<comment><USER2> I started looking at Backbone.js over the last few days.

I started with reading the documentation[1]. It is very well documented and contains a wealth of information.

Then I took a look at the Todo example[2] referenced in the documentation. It is also very well documented and puts together all the basics of the documentation into one clean example.

At this point, I started branching out into other tutorials. Everything I read basically reiterated the documentation and example above. This was good in terms of drilling the ideas into my head more solidly, but I could have stopped after the Todo example.

There was one notable tutorial though that was very different. Backbone provides a framework, but does not specify a structured way to store or load files. I believe this is on purpose. Backbone concentrates on the framework and gets out of your way. This leaves some head scratching though. This tutorial[3] combines Backbone.js with Require.js and provides an intriguing solution.

[1] <http://documentcloud.github.com/backbone/> [2] <http://documentcloud.github.com/backbone/docs/todos.html> [3] [http://backbonetutorials.com/organizing-backbone-using- modul...](http://backbonetutorials.com/organizing-backbone-using-modules/)

</comment><comment><USER3> Interesting to see Backbone being used to model non-crud single page apps. I had to build a SVG based editor before and looking at this example I can see how using Backbone would have made my life easier.

</comment><comment><USER4> Thank you.

As a backend developer trying to embrace Backbone, I'm finding that there isn't a wealth of consistently good material to learn from. One tutorial will push everything to the view, and the next pushes everything to the router.

It's hard to determine exactly what the best practices are, and making up my own mind isn't necessarily that informed, as I'm just learning the framework.

I'm hoping for more and more documentation to appear as there are things that I simply can't figure out how to do and can't find a reference for anywhere. Every resource helps.

<comment><USER5> Best resources I've found on backbone are articles from Derick Bailey at LosTechies.com

<http://lostechies.com/derickbailey/>

<comment><USER2> Unfortunately, this site has gone dark for the day due to the SOPA protest. Will have to check this out once it comes back up.

</comment></comment></comment><comment><USER6> Good example. I liked your way of binding model events to views - which is usually not the most elegant part of Backbone. Thanks!</comment>