Why So Many Are So Wrong on the 'Google Phone' - <AUTHOR> http://www.pcmag.com/article2/0,2817,2357081,00.asp

<comment><USER2> I had my hands on one for about a minute from a friend who's a Google employee. The screen was gorgeous and looked to be a little larger than the iPhone's. There's a row of 4 touch buttons at the base of the screen and the phone vibrates briefly when you push them.

I was completely baffled as to the purpose of the trackball. It could click, point, and roll-to-scroll, but you can do all those things via gestures on the screen.

It has a cute white icon on the back; a little android waving a semacode flag.

<comment><USER3> Re: the touch buttons -- their design is a serious mistake that makes me question the vision behind the entire operation. Why? Look at the purpose of each of the buttons:

* The Back Button (leftmost) -- the operation of this button is context sensitive (Am I going back a web page, back to the previous app? It depends on how I got to where I am now.) and it is so unfortunately right beside the backspace button in the landscape keyboard. This wouldn't be a problem for a physical button, but since it's touch-sensitive it's very easy to brush by back and lose all the form data you just entered on the webpage.

* The Menu Button (center-left): Hidden functionality is a bad idea. One of the nice things about the iPhone is that it's very rare the application has a capability that you cannot discover by looking at the contents of the screen. Android, on the other hand, routinely hides functionality in a menu. Worse, the type of functionality hidden is different in every application. You will never be able to guess where the "Accounts" menu button is going to be without looking at it.

* The Home Button (center-right): I have no problem with this button aside from its touch sensitivity.

* The Search Button (rightmost): On iPhones, we know this button as "hit the home button twice."

Re: the trackball -- it's because they don't have long-click precise targeting for the cursor on Android phones like they do on the iPhone.

<comment><USER4> _their design is a serious mistake that makes me question the vision behind the entire operation_

IMHO, you're in the weeds about the vision of this device, the true disruptive potential doesn't have to do with out-designing Apple.

I also got to see a few of these throughout the weekend...there are ~15,000+ and they are unlocked. If Google goes to market (direct-to-consumer), priced above true cost & free from contract - instead of the absolute BS games that wireless providers have been stringing out - that is _seriously_ disrupting the market.

To be honest, buttons are the last thing I would be worried about if Google turns the market on it's head. That said, they might, they might not, but the possibility has me curious until the actual release.

<comment><USER3> There is a reason why all the carriers in the US subsidize phones with long contracts. The reason is that Americans like to spread out their purchases. Offering the opportunity to not do so isn't going to have a major impact because too few people want to buy their phone outright for it to matter.

In any case, the vision I'm questioning is the design vision. If the sales method were the only novel thing about this device, Google could as easily have paid another company to release their newest phone through Google's portal instead of directly through the network.

</comment></comment></comment></comment><comment><USER5> Some good points, the key one being there's no evidence yet suggesting this is actually a major play from Google.

I've been wondering about the "SIM-free only" strategy. In the UK, SIM-free is an established but niche sector. You only buy SIM-free if the phone model is the differentiator, and that's only true for power users. (The iPhone has started to push hardware-as-differentiator toward the mainstream, but I don't think it's there yet.)

There are different kinds of power users, but one identifiable segment is the messaging-centric user, who wants a physical keyboard, which this phone doesn't have. From that perspective SIM-free is an odd choice. Maybe the multimedia / entertainment / "cloud services" power user segments are big enough to justify it, though.

If the article's wrong and this _is_ a big move by Google, it could be an attempt by them to promote SIM-free as an option. It would make it a lot easier for their Android partners and themselves to compete on handset hardware if consumers actually have a choice of handsets (and aren't restricted by which carrier has coverage in their area).

I disagree with the article's conclusion on pricing though:

> The iPhone actually costs $599, but what most people see is the $199 price > after its carrier subsidy. Google could release a truly $199 phone, but > they'd lose a huge amount of money on every sale.

Not all phones cost that much SIM-free. High-end Nokia phones have comparable hardware and build quality to the iPhone, but some of them (e.g. E series) sell for £200 unlocked.

For one thing, the iPhone might well cost significantly more to manufacture than the Nexus One. Apple had no prior experience of manufacturing phone hardware, whereas HTC have lots; HTC also probably have lots of efficient supply lines Apple don't yet have. Also, it's 2.5 years since the iPhone release; even assuming the hardware and build quality are comparable, costs should be lower by now.

Also, offering subsidised products to drive advertising traffic is sort of Google's _thing_.

<comment><USER6> Maybe someday. Right now Google would have to offer at least 2 different handsets (GSM/CDMA) and would need to strike a deal with Verizon/Sprint because they do not activate unapproved handsets. Sprint might be more flexible on this because they're desperate for customers but Verizon will flat out refuse your money if you want to use an unapproved, unlocked, phone.

<comment><USER4> _Right now Google would have to offer at least 2 different handsets (GSM/CDMA) and would need to strike a deal with Verizon/Sprint_

Curious if that becomes a non-issue once Verizon rolls out 4G next year? Sprint is the only provider not behind that platform (WiMax).

 _Verizon will flat out refuse your money if you want to use an unapproved, unlocked, phone_ They've never had pressure from a 800 pound gorilla...could be interesting.

<http://finance.yahoo.com/q?s=VZ> <http://finance.yahoo.com/q?s=GOOG>

</comment></comment></comment><comment><USER7>
       Quick Summary:

..Americans' desperate wish to see the iPhone on a carrier other than AT&T. Americans have for years felt that their wireless carriers are holding them back.. ..Americans feel abandoned by supposedly customer-friendly Apple, who did so much to advance the state of handheld technology but just can't quit AT&T. So now they're looking to Google, whose motto is "don't be evil," to liberate them..

..This is unlikely to happen..

..The U.S. uses two incompatible radio standards on three different spectrum bands..

..Americans rely on carrier subsidies to make device prices look palatable. The iPhone actually costs $599, but what most people see is the $199 price..

..I hate America's addiction to phone subsidies..

..Remember, unlocked smartphones have been available here for years.. Almost nobody buys them..

..An anti-carrier line would compromise their great success so far at getting Android phones into major carriers..

..Another boat Google would be rocking is their Open Handset Alliance..

..Google's goal is to get their software in front of as many eyeballs as possible..

..Back in 2007, there was a lot of speculation behind how Apple would sell the iPhone. One exciting idea was that Apple would start its own wireless carrier, which would show the other carriers how to do customer service...

<comment><USER8> I can't remember where but someone was claiming that the subsidized model is bad for carriers too, but they feel trapped in it.

Google pushing against the model may have the same effect as Apple pushing the record companies to sell music online (and then later) DRM free i.e. more money for everyone.

</comment></comment><comment><USER9> I think these arguments are weak.

1) "Never mind that while you can build a phone that supports 3G on three carriers, I've never seen a chipset that supports all four."

Maybe (or maybe not) all carriers, but netbooks are already sold that let you choose from several major carriers, GSM and CDMA. A phone could do the same, and even let you activate the device on multiple carriers simultaenously. Use whichever has coverage where you are.

What, you don't like having 3 phone numbers? Just give out your Google Voice number and have it ring them all, with a single, unified voice mail.

2) "If Google releases an unlocked GSM phone in the U.S., it's unlikely to sell many units, because it will be seen as prohibitively expensive."

...unless someone finances it. Seriously, if carriers can finance phones, why can't manufacturers, or third parties? They can, and they would if it looked profitable. And as phones becomes more central as computing platforms, it will look profitable. Just a matter of time.

I don't know whether Google will do this first or not. It would be a good theatrical move for Apple to do it first - and make all their fans who hate AT&T pee their pants with joy. But somebody will do it sometime, and it will be a great day for phone service.

</comment><comment><USER10> From the article: 'which many reports say is a variant of HTC's HD2 phone.'

The HD2 has a 4 inch screen, I don't think anyone is saying the phone looks like a HD2. From all reports, this is simpyl the HTC Passion, distributed internally amongst Google employees the same way the Dream and Magic were. Which were (and are) also called 'Google phone' by Google employees.

In short: nothing to see here.

<comment><USER11> I've also heard it called the Passion by Googlers as well.

</comment></comment><comment><USER12> Here in Europe we have subsidized mobile phones that are not SIM-locked. You have to sign a 2-year (or more) contract though.

Why is that not possible in the US?

<comment><USER13> T-Mobile US does that. If you have a contract in good standing you can request a SIM unlock code.

</comment></comment><comment><USER3> I agree with most of the points in this article. This phone is not going to stand up to an iPhone in the eyes of anyone lucky enough to be able to use both for a few days. I encourage anyone to take with skepticism the frantic praise from Googlers who just got the phone. Their questionable taste in user interface is well documented in the literature.</comment>


QuickMockup - <AUTHOR> https://jdittrich.github.io/quickMockup/ <comment><USER3> This looks intriguing but wondering if you'd consider changing the font? Script fonts have low readability and while possibly OK for a short logo mark, are not fit for anything longer.

Balsamiq mockup for example uses a "handwritten" but very readable font.

<comment><USER4> I like the font. It fits the sketchy style.

<comment><USER5> Sure, but I can't really read it.

</comment></comment></comment><comment> ux-app shameless self promotion: if you need a tool with more features then check out

[https://www.ux-app.com/dev/editor?m=trial](https://www.ux- app.com/dev/editor?m=trial)

cheers :)

<comment><USER6> _Sorry, the ux-app editor is not compatible with mobile devices_ -> redirect back to landing page.

Some feedback: if it doesn't work on mobile, warn me but still let me see it, or at least some screenshots, to get a sense of it so I can decide to follow up later on my laptop.

</comment></comment><comment><USER7> Nice, this looks like exactly what I want in a starter ui mockup app - <USER2> accounts to create, saves things as offline files, simple.

</comment><comment><USER8> This fits my needs as a full stack dev without design experience perfectly. Lightweight, fast, and little overhead for the features/pages that aren't important enough to go through a full time designer.

Looking forward to working with this

</comment><comment><USER9> Great work reminds me a lot of Balsamiq - which was great (no idea if they are still around, they were Flash based last I looked)

</comment><comment><USER10> A superb tool. Simple app which does the job :)

</comment><comment><USER11> Funny how something like this gains traction after not being touched for several years. Nice tool though.

</comment><comment><USER12> Is this the J Dittrich from Massey University?

</comment><comment><USER13> I am on my phone. This is not mobile friendly.

</comment><comment><USER4> Where is the text input?</comment>


Show HN: Bookship, a social reading app – a mobile virtual book club - <AUTHOR> https://www.bookshipapp.com <comment><AUTHOR> Bookship is social reading app for sharing your reading experiences with your family, friends and co-workers. Invite people to read along with you, whether they're reading via a physical book, an ebook, even an audiobook. Post and react to thoughts, photos/videos, quotes, links and questions, in an easy-to- use chat-style interface. Get notified when others post and share your place in the book with them to stay in sync. Dog-ear passages with a quick photo on your phone, and even have Bookship extract the text from the page you took a picture of.

Thanks! Just launched and would love feedback. iOS and Android. Built with Ionic.</comment>


The 3 Field Shopping Cart Web Form - <AUTHOR> http://voltagecreative.com/articles/primary-information-ux-minification/

<comment><USER2> Unfortunately, it's not uncommon for a zip code to be shared by more than one town, city, or municipality. <http://bit.ly/e6mOs5>

So while you could use this system to make an educated guess, you'd want to be very careful about getting confirmation before using the address, and that could defeat the original purpose of streamlining the data entry process.

\--edit--

It might actually be uncommon, but I think you still need to take it into consideration.

<comment><USER3> From the point of view of the Postal Service, there is nothing to take into consideration. A zip code uniquely identifies a geographical area (for the purposes of mail delivery) and it does not matter if that area crosses municipal, city or county boundaries. When a zip code does cross boundaries, the Postal Service picks one city that it uses as the "Actual" name for that zip code--even though a bunch of addresses in that zip code clearly fall in a different city! This is the city name that gets returned if you do a lookup or address verification. The post office is well aware that other cities might lie in that geographic area and accepts those city names as well. For example, follow the link below and enter 28451.

      http://zip4.usps.com/zip4/citytown_zip.jsp

It is true that it might confuse the user if you auto-populate the city name, but I think that in practice it wouldn't be much of a problem. If you live in a split zip code and your city's name is not the Postal Service's "Actual" name, then you are probably already used to receiving _lots_ of mail with that other city's name on it. For example: almost all bulk mail will use the "Actual" city name.

<comment><USER4> Living in exactly this situation, I can concur that there's nothing confusing about it.

My zip code is shared with one actual city about 10 miles from my house and at least two unincorporated rural townships. You could put a completely wrong city (and I often get mail with the city listed as Minneapolis, which is about 45 miles away) and it would barely merit raising an eyebrow. My mail will still get here on time.

</comment></comment></comment><comment><USER5> The system in the UK pretty much already does this and is ingenious.

<http://en.wikipedia.org/wiki/Postcodes_in_the_United_Kingdom>

For example this functionality is pretty much available on any UK e-commerce site:

[http://www.magentocommerce.com/magento- connect/CraftyClicks/...](http://www.magentocommerce.com/magento- connect/CraftyClicks/extension/1920/uk-postcode-address-finder)

</comment><comment><USER6> As pointed out by mbesto, the UK system is pretty slick, and could be refined down to just two fields, however it would require breaking the standard flow of address input forms.

With a street number, and a zip/postal code, you can get Street Name, City, and State in one fell swoop.

<comment><USER7> If anyone actually knew their 9 digit zip in the US you'd get the same

</comment></comment><comment><USER8> There is a lot of cart web forms that just have a check box asking if your shipping address is the same as your billing address, isn't that easier to implement? Not sure the added vaule of seeing it "copy" from billing to shipping...

<comment><USER9> I think you're missing the main point, which may or may not be the fault of the article, that you can auto fill (secondary info) city and state by using (primary info) zip code.

<comment><USER8> Definitely missed that. 1) Is that US centric? 2) If no, why doesn't everyone do that?

</comment></comment></comment><comment><USER10> I pull this data from the user's PayPal account.

Zero fields :) is what I absolutely strive for in my UX.

Other than that, I also have logic in place to auto-insert your city and state. That's just a waste of time for the user and I honestly couldn't care less since all I really need is their Zip.

</comment><comment><USER11> How about Facebook Connect integration that pulls your address from your Facebook profile? ;-)

<comment><USER12> That would make me shop elsewhere.

<comment><USER11> Hence the wink. Sometimes ease of use just isn't worth it.</comment></comment></comment>


Modelica - <AUTHOR> https://en.wikipedia.org/wiki/Modelica <comment><USER2> Modelica sees a lot of use in building energy simulation [0], [1].

My impression is that the solver landscape is a little uneven (the solver reads a Modelica model and computes its solution). For one thing, open-source solvers seem to lag behind the commercial implementations, in terms of capabilities. Even with commercial solvers, there seems to be a non-negligible amount of work around taking correct models that don't run, and reformulating them to let the solvers run them. Caveats -- I don't work on this personally, but know people in my division who do. Also, these impressions are a few years old, and doubtless the situation is improving as time goes on.

[0] Library of component modules for building energy and control systems ([http://simulationresearch.lbl.gov/modelica/](http://simulationresearch.lbl.gov/modelica/))

[1] "Spawn of EnergyPlus", a prototype next-gen whole-building energy solver ([https://energy.gov/eere/buildings/downloads/spawn- energyplus...](https://energy.gov/eere/buildings/downloads/spawn-energyplus- soep))

<comment><USER3> It's a fascinating example of "near-programming", computing results declaratively, if I'm understanding the wiki. I'm actually surprised it works at all.

<comment><USER4> > I'm actually surprised it works at all.

Why?

<comment><USER3> I wouldn't expect it to find a stable solution.

</comment></comment></comment></comment><comment><USER5> I've been interested in Modelica for some time and didn't know if someone could answer a few questions. I'm interested in building what I call nodal models, but basically these are things like multiphysics models similar to circuits. Essentially, this is the bond graph methodology, but I don't think the bond graph notation is strictly necessary, so really it's just hooking things like electrical circuit models with thermal or mechanical components. Anyway, my questions are:

1\. Does anyone know the history of these software tools? From what I've been able to gather, before Modelica people used ACSL ([https://en.wikipedia.org/wiki/Advanced_Continuous_Simulation...](https://en.wikipedia.org/wiki/Advanced_Continuous_Simulation_Language)), but currently products like Simulink or Amesim are more common.

2\. I thought that the modern packages moved from traditional integrators like Runge-Kutta methods to QSS methods. In the applied math world/ODE/PDE world, I've never seen anyone use a QSS method. Are QSS methods general and how do they compare practically to more traditional explicit time integrators?

Anyway I'm glad to see Modelica get posted and thanks in advance for answering the questions above.

<comment><USER6> 1\. Yes you can say that Modelica has some heritage from ACSL. (See [https://www.modelica.org/publications/papers/esm98his.pdf](https://www.modelica.org/publications/papers/esm98his.pdf)) but the short story is that some simulation language creators decided to form a uniform modeling and simulation language together instead of working on their own initiatives, resulting in Modelica.

2\. Not really. Usually modified versions of DASSL/CVODES and friends are used by Modelica tools. In Cellier and Kofmans's book on simulation QSS gets prominent display and some of the research at Berkley Labs has been using QSS to some extent, but it is far from mainstream.

</comment></comment><comment><USER7> For anyone interested, the OpenModelica compiler is available, and aims to be the standard reference implementation: [https://openmodelica.org](https://openmodelica.org)

</comment><comment><USER8> I have a friend who is or used to help define this thing, it's incredibly fiddly: mixed domain/mixed energy/correct units*correct representation types, and has to produce a result.

<comment><USER9> It looked like a way to make a closed ecosystem where there were only a few entrants (users) and the cost of entry was high both economically and in terms of the learning curve.

It is nice to see that I'm not entirely wrong.</comment></comment>


The real reason for New York City's traffic nightmare - <AUTHOR> http://nypost.com/2016/12/02/new-york-citys-traffic-is-intentionally-horrible/ <comment><USER2> Interesting. I didnt realize more bike lanes made the traffic so much worse.</comment>


Clojure in the field (presented by Stuart Halloway) - <AUTHOR> http://www.infoq.com/presentations/Clojure-in-the-Field

<comment><USER2> If you're already familiar with clojure, you can skip the first 18 minutes or so.

</comment><comment><AUTHOR> Slides: [http://github.com/stuarthalloway/clojure- presentations/raw/m...](http://github.com/stuarthalloway/clojure- presentations/raw/master/ClojureInTheField-1up.pdf)</comment>


Ask HN: Is this a good fit for a column-oriented database? - <AUTHOR> I'm looking for a database which can fit this use case well:<p>- Able to store 100M+ items/records<p>- Everything stored in one table/collection, with 100+ columns/fields (probably)<p>- Many columns will have numerous duplicate values (often with a small handful of distinct values accounting for most of the data, and a long tail of rare values, e.g. most "favorite ice cream flavor" data clusters around vanilla, chocolate, and strawberry)<p>- Pre-defined schema, but each item will only have values for a subset of the columns (5 - 20 on average); everything else will be empty / null<p>- No need for a sophisticated or relational query language, but basic aggregation support is needed (ideally group by count, sum, and average)<p>- A very common query will be a "group by count" for a few columns<p>- Most queries will only select a few of the column values<p>- Regex support required in the query language<p>- Support for streaming ingestion is a plus<p>- There will be about 3-6x more reads than writes<p>- Potential for data loss is acceptable<p>- No need for an in-memory datastore<p>- Python driver support<p>I'd be fine with using PostgreSQL, but for this use case, I wonder if a column-oriented database like Cassandra might make more sense. Any recommendations? <comment><USER2> Things that would work in favor of Column Store (like Cassandra or MariaDB ColumnStore or Redshift etc),

\- Everything stored in one table/collection, with 100+ columns/fields

\- Many columns will have numerous duplicate values (often with a small handful of distinct values accounting for most of the data, and a long tail of rare values, e.g. most "favorite ice cream flavor" data clusters around vanilla, chocolate, and strawberry)

\- Pre-defined schema, but each item will only have values for a subset of the columns (5 - 20 on average); everything else will be empty / null

\- No need for a sophisticated or relational query language, but basic aggregation support is needed (ideally group by count, sum, and average)

\- A very common query will be a "group by count" for a few columns

\- Most queries will only select a few of the column values

\- Support for streaming ingestion is a plus

\- There will be about 3-6x more reads than writes

\- Potential for data loss is acceptable

\- No need for an in-memory datastore

Not so good for Cassandra,

\- Regex support required in the query language

\- You did not mention if most queries would be accessed by primary key; if not, then this will be an anti-pattern...

</comment><comment><USER3> This is not a good use case for Postgres. You might want to look into one of the schemaless solutions, like Mongo. If you're using a single table with lots of duplicate and empty data, Postgres is going to waste space and processing time. You're not going to use features of or gain any benefit from a RDBMS. You might even be able to get away with using Redis or a similar key-data store, for even better performance.

What I really think you need to do is reconsider why you're storing data like this. Anonymous columns, duplicate data, and excessive nulls are all big red flags. If you're not storing relational data, don't use a relational DB. It sounds to me like you might be cramming relational data into a junk bin for what are likely ill-conceived reasons.

</comment><comment><USER4> Checkup ClickHouse [https://clickhouse.yandex/](https://clickhouse.yandex/) this looks like a very good fit for what you say

</comment><comment><USER5> If you want open source I would look to postgres and try out the cstore_fdw foreign data wrapper.</comment>


A tale of lost WW2 uranium cubes shows why Germany's nuclear program failed - <AUTHOR> https://arstechnica.com/science/2019/06/physicists-hunt-uranium-cubes-to-shed-light-on-germanys-failed-nuclear-reactor/ <comment><USER2> _The cubes are only slightly radioactive and don 't pose a health concern, according to Koeth. Since uranium is so dense, "It winds up shielding itself," he said. "The radiation you measure from it is only coming from the surface."_

Interesting, and answered the first question the popped into my mind when hearing about uranium cubes: are they dangerous?

<comment><USER3> It's moreso that the half-life of both natural uranium isotopes is very long; billions of years. When something has a very long half-life, it emits fewer energetic particles per second, and inflicts lower dose (energy deposited), and therefore lower health risk.

All the daughter products are in secular equilibrium and so are also "rate limited".

When you split uranium nuclei in nuclear chain reactors, many of the resulting "half-uranium" fission products are neutron rich, and have very short half- lives. They quickly decay towards stability and along the way shoot out lots of radiation very quickly. This is high-level nuclear material and is dangerous.

</comment></comment><comment><USER4> Now that we are on the lookout for the remaining missing cubes, perhaps they will show up on eBay, just like the (unused) graphite block for a Chernobyl type reactor:

[https://www.ebay.com/itm/original-Soviet-USSR-Chernobyl- nucl...](https://www.ebay.com/itm/original-Soviet-USSR-Chernobyl-nuclear- reactor-RBMK-1000-core-graphite-block-/233117411654)

<comment><USER5> Archive link? It's 404 on ebay.

<comment><USER6> [https://logout.hu/bejegyzes/lauda/original_soviet_ussr_chern...](https://logout.hu/bejegyzes/lauda/original_soviet_ussr_chernobyl_nuclear_reactor_rbm.html)

</comment></comment></comment><comment><USER7> > So Germany's secretive, isolationist approach actually hampered their > nuclear program, because the two groups weren't sharing information or > resources.

I don't think that this is a problem thar is already solved in researches. Just my humble experience, but seems that very few projects involve coordination of groups. It's more likely to share small fragments of each group findings, only when the group is ahead of what is being published/revealed.

Even when you are inside the same organization, you are competing for resources, promotions, glory, money, hand-shakes. And even when you aren't, the other group might be.

Personal achievements are above any other interest. To overcome that only great organization, with great people, spending time in non-technical matter.

<comment><USER8> I remember reading about the Soviet era space program and that to some extent it's speed and efficiency was credited to the program's leadership that in spite of the system were able to convince or compel (by pulling the appropriate levers of government) various groups to work together who otherwise really didn't have any reason to do so. However that didn't last forever and the program started to stall.

It seems to be a universal problem.

<comment><USER9> > program's leadership

Sergei Korolev

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

<comment><USER8> Great engineer and bureaucrat... pretty rare combo.

</comment></comment></comment></comment><comment><USER10> I have one very old uranium crystalware specimen sitting here - been in family for ages - it's awfully beautiful looking and our deep-blue LED christmas lights actually make it glow eerie.

The deeper-blue (indigo) LEDs reach into the wavelengths that the uranium glass glows at!</comment>


Personal Time Capsule - <AUTHOR> http://swanson.github.com/blog/2012/12/10/personal-time-capsule.html

<comment><USER2> Matt is much younger than I am. I would love to see "time capsules" of my earliest programming efforts, but they were many years and many systems ago, and I no longer have the source.* Something like Github did not exist when I began programming.

* - with the notable exception of a couple of things that I printed out on paper. Things stored electronically are now inaccessible on 5.25" floppy disks stuck somewhere in my attic. But a few things printed out on paper still survive.

</comment><comment><USER3> I've done the same - I have a Java program that I did for a university course in 2008. It's probably the ugliest thing ever, but it has sentimental value.

<https://github.com/sc68cal/Java-Distributed-Hash-Cracker>

</comment><comment><USER4> I love looking back at the crummy things I've made[0]. It's the best way to see just how much you've learned. Not only the overall quality of the product, but little things, like refactoring abilities, readability, and following convention.

Sidenote: Aperture science logo? EDIT: WOW, Portal came out 5 years ago?!

[0]: <http://jscal.es/2012/10/12/you-oughta-be-ashamed/>

</comment><comment><USER5> I came here looking for an open source version of Apple's TimeCapsule. I left felling old: when I started writing my own code github didn't even exist!

<comment><USER6> It might be that the author uploaded it past creation. But then again, it's written in python - which AFAIK became popular fairly recently.

</comment></comment><comment><USER7> A while back I created a script that reminds you about projects that you committed to some predefined period of time ago - a bit like Timehop[1], but for git commits. I've found it fun to see how my code (and my project interests!) have changed over time.

[1]<http://timehop.com/></comment>


Why is there no widely accepted progress for 50 years? - <AUTHOR> http://lambda-the-ultimate.org/node/5590 <comment><USER2> I'll just take the occasion to reference the works of W. Brian Arthur and Paul A. David on path dependence, increasing returns and lock-in where they model the situations where technological artifacts come to dominance, often not out of their intrinsic values but because of extrinsic factors. So, why is there no widely accepted language progress? _Maybe_ because the situation is locked- in.</comment>


A Bit of History about Bits - <AUTHOR> http://blog.cleancoder.com/uncle-bob/2017/12/09/Dbtails.html <comment><USER2> As usual with Bob Martin, this is a personal history, and not some broader detailed history. It does not, for example, contain much in the way of specific dates, people, or hardware models.

The general spirit is correct. Two small incorrect details stick out:

"Cards were linear arrays of 80 byte records, period." \- While IBM's 80 column punched card was by far the most common, there were other formats, including from IBM.

"Relational databases (which often ride on top of file systems nowadays) provided random access to fixed sized records." \- SQLite is a relational database. It does not use fixed sized records.</comment>


We fixed our on call process to avoid engineer burnout - <AUTHOR> https://www.intercom.com/blog/rapid-response-how-we-developed-an-on-call-team-at-intercom <comment><USER2> Something is missing from this story. How do you go from "on call is stressful and disruptive to people's lives" straight to "we're creating a voluntary on- call rotation, and people are jumping at the chance?"

<comment><USER3> They paid you if you volunteered to be part of the on call group. Previously, it was mandatory and the majority only got TOIL.

<comment><USER2> I'm still a little skeptical. Given how they described the on call rotation before, it would have to be a pretty significant pay bump to get people to jump at the opportunity, IMO.

<comment><USER3> You'd be surprised how often people will jump for an extra $200/week. Especially if you're going from one week in four (TOIL for incident time) to one week in six or seven (TOIL for incident time + $200 regardless) on the promise that things will get better. You can always un-volenteer if after a few rounds it's clear things aren't getting better, but the initial position is already better than the starting point.</comment></comment></comment></comment>


The Dropbox terabyte conundrum - <AUTHOR> http://sixcolors.com/post/2014/09/the-dropbox-terabyte-conundrum/ <comment><USER2> Shameless plug for my product, ExpanDrive

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

Mount Dropbox as a network drive. Smart local cache. Access the data on demand without syncing the repo in first. Also supports gdrive, s3, sftp, onedrive, box and more.

Makes a 1TB account make a lot more sense if you only have a 128GB SSD. Use selective sync with the primary client to only sync a portion of your Dropbox. Then use ExpanDrive to offload the rest and access it as needed.

<comment><USER3> On the product page, please list your price more clearly. It was non-trivial to figure out what your product actually cost. A walkthrough of my thoughts:

1\. He said product, so it's probly not free. I wonder how much it costs?

2\. _Scrolls through the whole page_ I don't see a breakdown of price. Hmmmm

3\. _ctrl-f "$"_ Ahh, I see it says upgrade pricing is $24.99. Wait, does it cost that much, or is that a special "upgrade only" price?

4\. _looks around on the page more_ Ahhh, there's a store link, I hope it lists the price there!

5\. Ok, so the price is $50 for a single-user license. Why was that so hard to find?

I don't mean to be rude with these remarks; your product seems perfectly relevant and it's awesome if it works as you say. But as a customer, I found that a bit confusing and I thought you as the business owner may want some feedback about one particular users experience.

<comment><USER2> Fair. I want people to download and not think immediately about price. It's not cheap. I see your point and you might be right. But it's not an entirely uncommon/bad pattern. I had a/b tested it a while back.

<comment><USER4> I'd like to note that an a/b-test saying it's more profitable doesn't mean you should automatically follow it.

A random example: The people who don't download your software because they can't find the price might think very negatively about your product.

<comment><USER5> > A random example: The people who don't download your software because they > can't find the price might think very negatively about your product.

If that doesn't hurt your profit, shouldn't you still do it?

<comment><USER6> But how do you measure that it doesn't hurt your profit? Conversion rate may go up, but if those not buying because they felt lured with a lower price, through negative mouth-to-mouth advertising, make fewer new potential customers visit your site in a few months time, profit could eventually go down.

<comment><USER2> Negative mouth to mouth because you had to go to the store to see the price options? There are two, fwiw. Lots of people pick the lifetime upgrade option.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> I just want to point out that spacemonkey (spacemonkey.com) handles this very elegantly.

spacemonkey was designed from the beginning to handle storing much more data than you'd ever be able to store on your laptop hard drive. The way it does this is it actually mounts itself as a FUSE filesystem and keeps it's own LRU cache of your spacemonkey data on the drive. If you access a recently created or accessed file it will just load from the disk cache. If it detects that you are running out of hard drive space it will automatically prune the stuff that hasn't been accessed in a while (so spacemonkey never causes you to have an "Out of disk space" error). you still see it though, it tells you its size, metadata etc. and if you try to open one of those files it will grab it from the network transparently behind the scene for you it just might add a little bit of latency (as if you were accessing something on a network share).

In 2014 you should not have to be thinking about what to "selectively sync" the service you use should just figure it out for you (and let you customize it if you need to)

disclamer: I used to work for spacemonkey but do not any more, although I think they make a great product and are a super smart team.

<comment><USER8> SpaceMonkey was recently acquired by Vivint, Inc. "The Space Monkey team is excited to announce that the company has been acquired by Vivint, Inc." I don't hold out any hope that SpaceMonkey as a product will continue on, or if this was more or less an acquihire.

<comment><USER9> Co-founder of Space Monkey here. I can assure you this was not an acquihire. At the highest levels of the org from CEO and down, Vivint believes in the Space Monkey vision. We're super excited to have their backing, and think you will be excited to see where this goes from here.

</comment></comment></comment><comment><USER10> I have this exact problem. The original reason I use Dropbox is now the thing that annoys me about trying to just store all my files there in the cloud.

It's like I need a ~/Dropbox and a ~/DropboxCloud where the ~/DropboxCloud is just virtual, not real disk space on my HDD.

<comment><USER11> Bitcasa's Infinite Drive is exactly what you're describing for ~/DropboxCloud.

Unfortunately it looks like they've changed focus to the enterprise.

[https://bitcasa.com](https://bitcasa.com)

</comment></comment><comment><USER12> I think you've articulated a great point about the current trend in the Cloud services and fast SSD personal computers. I have personally stayed away from the large storage plans at services like Dropbox because, as you point out, they would fill my entire 128GB Macbook Air instantly. But that seems to be the common theme with laptops these days – blazing fast hard drives at the cost of larger storage.

I actually think iTunes Match does a good job of solving this problem, on a media storage basis. I have my whole library "uploaded" to iTunes, but then I can selectively download and listen to songs on any device when I need them, even to my 8GB phone. Now my music library doesn't clog up my computer or phone or tablet, etc.

If dropbox found a similar model, I would sign up for that in an instant.

</comment><comment><USER13> The actual link - [http://sixcolors.com/post/2014/09/the-dropbox-terabyte- conun...](http://sixcolors.com/post/2014/09/the-dropbox-terabyte-conundrum/)

</comment><comment> jude- (Disclaimer: tooting my own horn)

It sounds like you want my PhD thesis project.

Link: [https://github.com/jcnelson/syndicate](https://github.com/jcnelson/syndicate)

</comment><comment><USER14> This is a very interesting problem, espeicially since consumer computing devices quickly shunted to small storage space when SSD's arrived. A few years ago, a laptop with 500GB of hard drive space was rather small! Nowadays, a 500GB SSD is top-tier. Granted, SSD capacity is quickly rising, but with the combination of small computing like phones and tablets, space is at a premium.

Funnily enough, this problem has been solved before! If you look at distributed file systems, especially something like Coda ([http://en.wikipedia.org/wiki/Coda_(file_system)](http://en.wikipedia.org/wiki/Coda_\(file_system\))), they are designed to make the local computer a "thin client for storage". Basically, local storage is used as a cache for the main copy on the server, and this behavior is transparent to user applications via the FS driver.

Dropbox uses a user-space program to sync the files and cannot intercept system calls. As such, they had no choice but to synchronize all of it rather than bringing things in "on-demand" and releasing local copies that are not used. Nowadays, this can easily be done via FUSE driver in Linux. I do not know if something like FUSE exists on other platforms though.

Overall, I personally love the idea of a local machine being a "cache" for the server copy. However, the technical challenges are greater than a simple mirroring scheme, and there may be UX issues as well.

<comment><USER15> Dokan for Windows (last updated 2011) and MacFUSE for OS X do exist, but they're not battle-tested, to say the least. It wouldn't be wise for Dropbox to stake its reputation on such unreliable software.

<comment><USER16> MacFuse worked well when it was first released, but it has not been maintained in years and has no maintainers and does not really work with any recent OSX versions at the moment.

It looks like there might be something called OSXFuse which might be more recent and maintained, but I haven't looked at it, it also might not be.

<comment><USER2> OSXFuse is very well battle tested. We use it in ExpanDrive. CBFS by eldos is a commercial userspace filesystem lib for windows. We also use that.

<comment><USER16> awesome, thanks for the info! I will check out OSXFuse.

</comment></comment></comment></comment></comment><comment><USER17> Ah! Same kind of user (paying customer for years) and same issues (too much space on my Dropbox, not enough on my drive).

My Macbook Air is the only computer I use, both at home and at work. Its SSD is 60 GB. Last month, Dropbox upgraded my account (for free) up to 1 TB.

Selective Sync? It's not optimal. We use several shared folders at work. Some of them become rapidly heavy without me noticing, unless I sense my laptop slowing down and find the culprit folder (with Diskwave) and unselect it from my sync. Plus: any (non-empty) shared folder you join will automatically sync on all your devices. It should be opt-in, not opt-out.

Offloading massive files? I use the (very good) web interface. It's a two-step process though: upload via the browser, and then delete your file. It's usually a one-off event, but is not what Dropbox is usually about: being seamless. Remember Doug's pitch to YC? The level of abstraction where you just hit "Save" and you're done? That's what's still missing with one-way transfers to the cloud.

</comment><comment><USER18> Just because the author uses a machine that doesn't have that big a hard drive doesn't meant that everyone else does. I use dropbox on a computer with 15TB of HD space.... so having a 1TB drop box is great. Saying drop box should not offer the bigger size just because he doesn't have that much hard drive space is a very limited view.

<comment><AUTHOR> I'd say that 15TB is not a common case.

Most of the hard drives installed in new computers these days are less than 2TB, and less than 1TB on laptops (which are very popular).

At the moment Dropbox has only a (free) plan of 2GB and another of 1TB. I think this is something that needs to be managed by Dropbox, if they want users to be happy.

</comment></comment><comment><USER19> Camlistore ([https://camlistore.org/](https://camlistore.org/)) is the answer. Here's hoping it becomes just as easy to use as Dropbox someday.

</comment><comment><USER20> I don't know anything about dropbox, but based on the types of things the author spends time thinking about, I think s/he might find [http://git- annex.branchable.com/assistant/](http://git-annex.branchable.com/assistant/) useful.

</comment><comment><USER21> This is exactly the problem Microsoft solved with OneDrive. You can choose what is kept only online and what is also offline. In windows at least its integration goes as far as keeping lower resolution versions of your photos offline for previewing purposes and seamlessly downloading the full-res when you try to open it in say Photoshop.

Unfortunately as nice as this sounds in practice its extremely slow (at least for us in Europe).

I am facing the same problem with hubiC which has a 10GB plan only and unless you have some crazy raid configuration on your desktop there is no way you can fill it up unless you use the web interface exclusively.

</comment><comment><USER22> I think this limitation is actually fundamental to Dropbox's (and Google/etc) pricing model. Only a small subset of users can fully utilize the space they pay for, which means the remainder of users are more profitable. If the average user consumed 1TB, or if pricing was by usage rather than tiered, I'd expect the price per GB to go up.

</comment><comment><USER23> I've often wished Dropbox's selective sync was managed by folder rather than by client. It would be more helpful to me to mark folders to not automatically sync account wide than to have to choose and re-choose those folders every time I setup Dropbox. I feel like that would potentially be helpful in this use case.

<comment><USER24> The selective sync is one way to manage the larger storage space, and do it effectively.

</comment></comment><comment><USER25> I personally like [https://bitcasa.com](https://bitcasa.com) in this regard. They have this feature that you can choose a "directory" to be a bottomless storage that is not actually on your device, it is on the cloud for you when you need it.

</comment><comment><USER26> I just store large files I don't want synced in Google Drive and don't run the Google Drive client. Dropbox selective sync is a huge pain when setting up a new machine since it doesn't recognize yet unsynced folders and files.

</comment><comment><USER27> I have the same problem. My MBP right now only has a 256GB SSD in it and so I can only fit about 1/8 or less of my DB on it once I load up other data/apps. I had to create a "Camera Uploads Archive" folder and move all my pictures to that then turn on selective sync for it because the "Camera Uploads" folder got way to big to keep on my MBP. I really wish I could still see the "Camera Uploads Archive" and if I tried to open or use one of the files it would download it until after I had finished with it. I'd love to be able to browser all my picture but I just don't have the space.

</comment><comment><USER28> Yeah. I have this problem too. I want to upload a ~ 200 GB photo library so I have access to it on the go now that Everpix has shut down, but I can't do it from my main machine because the drive just isn't big enough. Selective sync seems to be the only option.

I hoped iCloud Drive would solve this: iCloud Drive supports similar capacities, but obviously iPhones can't store the whole Drive so presumably it's been designed with this in mind, but it _seems_ like the OS X version still syncs the entire thing (at least I haven't been able to find any information to the contrary).

</comment><comment><USER29> I'm surprised to see so many people saying they have the same "problem". You don't have to use the extra space. You had less space before and the problem didn't exist, and now suddenly it does?? It makes no sense.

1\. It's a _good_ thing for the many people who DO have more space on their computer.

2\. It's a _good_ thing because it leaves room for growth.

3\. It's a _good_ thing because it makes the service more useful for power users.

hit "Save" and you're done? Newsflash: it STILL works that way!!

<comment><USER16> The "problem" is that they WANT to use the extra remote storage, with a UI as good as DropBox's and consolidated with the other stuff they have on DropBox, but can't because they don't have enough local space or don't want to sync all their remote storage to every machine.

It is true that in some cases they may not have realized they had this desire until ExpanDrive gave them enough storage to think about it, but they do now.

</comment></comment><comment><USER30> Seems like Dropbox has already solved this problem on mobile devices. Using the Dropbox client on my Nexus phone or on the iPad, I can read or edit a file, and then mark it for offline use which keeps it in local storage, or just leave it alone, where I assume it's eventually deleted from the cache.

It's pretty transparent and intuitive. I would think this could be done on desktop / laptop systems, maybe via an optional client, with all files set initially to a no-sync value.

</comment><comment><USER31> I never bought a pro account because, like the OP says, I consider Dropbox for smaller things. 100 GB was too much then, and now 1TB is ridiculous. I would have liked a smaller tier (20-25 GB at the most), but I guess they can't really make money if people actually use up their space. oh well..

<comment><USER32> You can get that much space with referrals. I maxed my referrals out with a $40 Adwords campaign a few years ago and it's been a good investment.

</comment></comment><comment><USER33> Wuala has supported this for as long as I can remember, it's called "WualaDrive": a network mount of your entire file archive.

</comment><comment><USER34> The only reason I use Dropbox is because it works beyond any type of firewall (be it simple HTTP proxy or socks). Others tend not to.

</comment><comment><USER35> Do you live in Italy or are you stuck in the U.S. where it would take few months for most people to upload a TB of data to dropbox?

<comment><USER36> Italy has an average connection speed of 5.2Mbps (47th in the world), the US is ranked 12th at 10.5 Mbps - about 2x Italy.

Just so you know.

[http://www.akamai.com/dl/akamai/akamai- soti-q114.pdf](http://www.akamai.com/dl/akamai/akamai-soti-q114.pdf)

</comment></comment><comment><USER37> I don't understand the point of the article that 1 terabyte of storage is not worthwhile if your laptop has a small disk drive.

I use a MacBook Air with only 128GB of storage. I use "selective syncing" to not keep most of my Dropbox files on my laptop.

If I need anything not synced to my laptop, then I choose it to be synced, wait a short while, and then it is available locally.

</comment><comment><USER38> I don't think they want you to use 1000GB of storage so the fact that you won't is a feature. Terabyte limit essentially means "unlimited but don't do anything silly."

Dropbox has a really good Linux CLI client so I'm sure there are people who will manage to bump up against that limit.

</comment><comment><USER39> Just use Selective Sync: [https://www.dropbox.com/en/help/175](https://www.dropbox.com/en/help/175)

<comment><USER40> I don't know if you read the post, but he says:

> Right now the only way to do that would be to put something in the box, then > turn off Selective Sync everywhere for that folder. (Or upload files via > Dropbox's web interface, to a folder that's been unchecked on all your > devices via Selective Sync.)

> It's not ideal. Selective Sync wasn't meant to be used in that way… but for > that matter, neither was Dropbox.

I think his gripe is the core premise of dropbox — file syncing — isn't the same as 1TB backup.

</comment></comment><comment><USER41> So, the proposed solution is basically to regress to FTP.

That's why my old startup offered FTP with no frills: _it just works_.

</comment><comment><USER42> you can do this pretty easily with bittorrent sync

</comment><comment><USER43> They basically need this feature: [http://windows.microsoft.com/en- US/windows-8/onedrive-online...](http://windows.microsoft.com/en- US/windows-8/onedrive-online-available-offline)

Totally agree though. I'm not going to pay for a TB of storage until I can moves files I don't need on my SSD anymore (ie RAW photos I've developed) into Dropbox and have them removed from my computer seamlessly.

Sooooo easy to implement, just upload the file. When it's done, run an md5 on the local and the cloud, if same then delete local.

<comment><USER44> I've been using my Dropbox space as a way to turn my systems into a thin(ner) client. I install portable (ini and not registry based) Windows apps into d:\Dropbox that I know can be run in Wine and run them in Wine on my Linux systems from ~/Dropbox

Best part of it is that UI changes done on one system remain consistent when using other machines. Completely took the pain out of a format/reinstall, too.

Trying to constrain Home to my Dropbox folder also reawakened an old skill: Space discipline. With drive space exploding and SSDs still being relatively constrained, I had forgotten how much crap I tended to hoard and not sort through until I was feeling pinched again thanks to my Dropbox quota.

<comment><USER3> This is also what I do, but almost the inverse: I use Cygwin on Windows to get all the same applications (I do everything other than browse the web in my terminal) as I would on Linux, then use Dropbox to keep everything the same across machines.

Each of my machines is configured (almost) exactly the same, and all the media/projects/work is available on all my computers at the same time.

I also experience the forced "space discipline" and would add that I also have to have a better organizational structure in general. I'm constantly "re- balancing the tree" that is my directory structure, re-defining and re- grouping my media into ever finer groups in an effort to stop things from accumulating in digital "junk drawers".

On a different note, I disagree with the suggestion of having a "virtual filesystem" that is the entire Dropbox service. I feel that doesn't fit with what Dropbox is: _a folder that syncs_. I don't want to have to worry about the physical location of my files, which I most definitely would have to do based on my internet speed (which is as good as it can get right now).

</comment></comment></comment><comment><USER45> Are you seriously so well-trained by Apple that you think you need to pay for software to run a local LAN Dropbox clone like rsync/btsync/ownCloud?

<comment><USER46> What does Apple have to do with anything? The same problem exists on Windows and Linux.

And, no, I don't want to run and manage a local "LAN Dropbox clone". It's all about the integration with different mobile and desktop apps and services, the remote backup, and that you don't have to manage it.

</comment></comment><comment><USER47> Whine whine whine, I have a mac, whine whine whine

get a computer with actual expandable storage

<comment><USER48> Like a Chromebook, right?</comment></comment>


Distributed and scalable email server Wild Duck - <AUTHOR> https://github.com/nodemailer/wildduck <comment><USER2> > Distributed means that Wild Duck uses a distributed database (sharded + > replicated MongoDB) as a backend for storing all data

ok bye</comment>


Ask HN: Which would a Pythonist find most intuitive to learn, Haskell or Erlang? - <AUTHOR>

<comment><USER2> Haskel i'd dare say. Nevertheless I'd go with Erlang for the pragmatics/usefulness of it. Maybe route via one of:

<https://github.com/tarcieri/reia>

<https://github.com/josevalim/elixir>

<comment><USER3> I'd actually say the exact opposite. As a python programmer, I find Erlang's syntax simpler and more familiar (e.g. dynamic typing, pseudo-imperative variables instead of let and where clauses). Haskell, however, always feels like it has a far better base of utilities (e.g. Parsec, xmonad) that it makes superior for practical work.

<comment><AUTHOR> Thanks! Looks like results may vary based on the problem set, I will have to check out both languages</comment></comment></comment>


Year 292M is the next Y2K - <AUTHOR> http://paulitex.tumblr.com/post/5213056513/year-292m-is-the-next-y2k

<comment><USER2> 1\. No. The year 2038 is the next Y2K.

2\. If I am still alive in 292,000,000 years I will fix it myself. A quarter of a million years ought to be plenty.</comment>


Inside Russia's Creepy, Innovative Internet - <AUTHOR> https://www.bloomberg.com/features/2016-hello-world-russia/?cmpid=BBD113016_BIZ <comment><USER2> A photograph of the mouse statue, for those curious:

[http://mplp2016.laser.nsc.ru/wp- content/gallery/akadem/Mouse...](http://mplp2016.laser.nsc.ru/wp- content/gallery/akadem/Mouse.jpg)

</comment><comment><USER3> The huge flaw with this video is that it finds the government involvement in tech strange. Which is a response that is clearly ignorant of the history of technology and it's deep connections with state sponsorship.

</comment><comment><USER4> As opposed to the Western internet which is not creepy at all.

/s

<comment><USER5> I'd say Russian internet is halfway in creepiness between the Western and the Chinese, rapidly moving well into Chinese territory.

<comment><USER6> Should be right around Mongolia now . Getting closer tho.

</comment></comment></comment><comment><USER7> Is it just my mobile browser or is the episode described actually available on the page anywhere?

<comment><USER8> I found it on their youtube channel, where it works: [https://www.youtube.com/watch?v=tICL- lwI7KM](https://www.youtube.com/watch?v=tICL-lwI7KM)</comment></comment>


More Federal Agencies Are Using Undercover Operations - <AUTHOR> http://www.nytimes.com/2014/11/16/us/more-federal-agencies-are-using-undercover-operations.html

<comment><USER2> I actually saw an undercover sting (not federal) in progress once. It was late at night in a small town in rural New Mexico. The town had two convenience stores.

I was passing through and stopped at one of the stores to buy a soda and the police were parked on the side with a kid that looked about 17 years old. They were prepping him on what to say. So, I walk in the store and the kid walked in behind me. He went straight to the back, looked at the soda coolers then asked the lady... "Hey, where's the beer?" Her response was "We don't sell alcohol at this store". So he left and I started laughing. The clerk asked what was so funny and I told her. She immediately called her friend at the other convenience store in town warning of the impending sting.

I imagine some of the federal stings are about as professional. But maybe some are better run.</comment>


Laid-Off Ford Employee Decides To Start Own Car Company - <AUTHOR> http://www.theonion.com/content/node/55167

<comment><USER2> One of my sister's former coworkers dreams of starting his own oil company. (My sister is a petroleum geologist.) Supposedly he took a bunch of economics and business classes as an undergrad, but he must've slept through the part about economies of scale.

...it doesn't really apply to software though. The software business has significant diseconomies of scale, so it's actually rational for employees to quit their big firms after learning all they can and strike out on their own.</comment>


Cody Wilson, the man who wants Americans to 3D print their own guns - <AUTHOR> http://www.theguardian.com/us-news/2016/jun/06/cody-wilson-3d-guns-printing-firearms-lower-receivers <comment><USER2> To be honest, though Cody Wilson was responsible for the initial organization of the movement, he is largely irrelevant now, and the DIY gun community has pretty much disavowed him and moved over to FOSSCAD.org // [https://twitter.com/fosscad](https://twitter.com/fosscad) and IRC.

To show the difference in the developments, compare the single-shot Liberator featured in this article to the revolving Washbear designs by FOSSCAD: [https://imgur.com/a/M1A0P/layout/horizontal#0](https://imgur.com/a/M1A0P/layout/horizontal#0) or the semi-auto Shuty MP-1v4 [https://twitter.com/fosscad/status/718190339090059265](https://twitter.com/fosscad/status/718190339090059265)

Cody is more of a political agitator and propagandist, whereas the FOSSCAD community are typically much more gun-enthusiast/engineer-y - although they share similar political opinions, their motivations seem to be much technical/recreational rather than political.

<comment><USER3> Thanks, this kind of perspective is useful for outsiders.

Quick comment: isn't "Free Open Source Software & Computer Aided Design" a pretty misleading name for a group that is apparently only interested in 3d printing firearms?

<comment><USER2> Agreed, but it came out of evolution - Cody's organization used to be called "DEFCAD" (Defense CAD), but it operated more as a company than as an open source initiative, so the community forked to "FOSSCAD" to indicate that's how they would be operating.

Maybe FOSSDEF would have made more sense but it's kind of too late now.

</comment></comment></comment><comment><USER4> IMHO this whole movement is out there to point out how ridiculous some legislation is. Pretty much anyone with a brain can make a deadly weapon with time and materials. They even make guns in prisons, so of course someone could 3d print the serialized parts of a gun. In certain types of guns those 3d printed parts are only minorly structual so they don't receive that much force, you could even conceivably hand carve one out of plastic.

In addition, you could mill your own parts pretty easily, those plans have been available for decades as well.

<comment><USER5> You can make a knife from a sharpened spoon, but you can do a lot more damage, more reliably, to more people, with a real sword. For now (although not forever) you're not going to 3D print an AR-15 Lower.

<comment><USER6> It is easier and more economical to mill with a cnc. It is probably far cheaper even to just walk to the gun store and buy a rifle than it is to 3D print something similar.

<comment><USER5> A CNC is something that is pitifully easy for a regulatory agency to track, as far as large numbers of purchases go. See: that fellow who was milling AR-15 lowers and just got busted. We're talking about the difference between machining metal, and downloading and printing a schematic. I hope that you do see the difference.

<comment><USER7> It is easier to track distributing a sold product. It is very difficult to track what a person makes in the comfort of their home. I dont think the federal government keeps a registry for the purchase of milling machines.

<comment><USER5> If everyone who wants to own (to keep using this one example) an AR-15 had to buy a CNC, that would be quite the commitment. If the current model of people buying many milling machines and selling their services is the only viable way to avoid that, then you've already seen the feds start to take notice. After all, if you can get word of mouth around enough to make money, you're making enough noise to be heard.

3D printing is presumably going to become ubiquitous, and require no skill or experience to operate and maintain.

<comment><USER8> But that's the thing - with the present level of technology, you can have a device that is, essentially, pre-programmed CNC to make AR lowers (which is what Ghost Gunner is, for example) for under $300.

To make a fully functional firearm from there, you also need a complete upper - can be had for another $400 or so these days; and a complete lower part kit with buffer tube and stock - can be had for less than $100. For a total of $800, some assembly required (or you can pay another $50 and have pretty much any gunsmith put it together for you).

So basically, a person can take GG and produce an unregistered, untraceable, no-background-check-required AR with it for $800-900. For comparison, the Bushmaster AR that was used in Sandy Hook shooting costs ~$700.

<comment><USER9> The Ghost Gunner drills/machines the right holes in an 80% receiver, it doesn't start with a 0% receiver: [http://www.80percentarms.com/products/0-billet- ar-15-lower-r...](http://www.80percentarms.com/products/0-billet-ar-15-lower- receiver)

But it's not very difficult to start at that level: [http://motherboard.vice.com/read/the-cartel- gunsmiths](http://motherboard.vice.com/read/the-cartel-gunsmiths) $25K for a pro CNC machine isn't much in the scheme of things.

<comment><USER5> For a cartel? It's nothing. For most people who want a particular gun, and don't intend to monetize the purchase, never mind the time taken to learn how to work and maintain it? That's a hell of a thing to be honest.

<comment><USER9> The real barrier is the knowledge, you don't need a relatively new CNC machine like that if you're just going to make a few for yourself. And old but high quality non-CNC machines are sufficient for that, and require a somewhat different set of skills.

But that's not the scenario I'm thinking about, nor is it relevant as of now in a country which has more than doubled its gun production since Obama was elected, with > 100 million being sold in that period (obviously not all those were new).

<comment><USER5> If the barrier to a decent firearm is knowledge of how to work and maintain and older CNC, that seems like a pretty excellent means of limiting firearms. "You're free to have what you can make from scratch, up to a certain point."

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> With the advancement of technology it's harder and harder to sympathize with the idea that firearms in the US could effectively combat governmental tyranny. Situations such as Ruby Ridge and Waco could be handled by drones now. It's hard to believe that there is a principle at play here deeper than a simple love of guns.

<comment><USER11> Yeah, you're right. See, for instance, the way that the West totally put down the Taliban in Afghanistan and pacified the entire country, which is now peaceful to this day. The Taliban were just a bunch of illiterate goat herders with AKs, so there's no way they could stand up to the America's more technologically advanced army, plus the drones.

And then look at Iraq, and Syria, and all of the other insurgencies involving irregular combatants armed with nothing but improvised explosives and small arms, that have now been totally put down by the drones...

Except that none of the above is true :p

<comment><USER12> In case of unbearable government tyranny, the civilians are going to have an insurgency against their own fathers, sons, and brothers?

<comment><USER13> It happened in the civil war:

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

And that was with the sides largely being split geographically.

<comment><USER14> The idea that the sides were split geographically has some truth, but is overstated and a result of looking at the decisions of state governments -- there were supporters of the Union cause in states that seceded (and, in fact, there were union _regiments_ raised from every state in the Confederacy except South Carolina), and supporters of the rebel cause in states that remained in the Union. The illusion of a clean geographic split is the result of the fact that a state government's choice to secede and join the confederacy or not was starkly binary.

<comment><USER13> According to [1] and [2] about 5% of Union soldiers were from southern states. "Largely" works for a split like that.

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

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

</comment></comment></comment></comment></comment></comment><comment><USER15> I heard about this before on a documentary that was recommended on HN, so I'll pass the recommendation on:

Print the Legend, from 2014, on the story of 3d printing. [http://www.imdb.com/title/tt3557464/](http://www.imdb.com/title/tt3557464/)

</comment><comment><USER16> It's really interesting when I tell people that I'm in the 3D printing industry and their first reaction is to tell me someone 3D printed a gun. So many people know about it now, and I don't think it's a bad thing either. It gets people thinking about what complex things can be created with this technology. I believe the story has been an overall positive educational tool for the industry and the mainstream's understanding.

<comment><USER17> I run a small Makerspace, I see a teenage boy come in the door every month or so, eye the printers, and ask if they can print a gun .... that gives me a good chance to explain that making your own hand gun is illegal and that using a printer doesn't change that.

<comment><USER18> You can manufacture firearms for personal use across the US -- even in California -- provided those arms otherwise comply with the law[1].

[https://www.atf.gov/firearms/qa/does-individual-need- license...](https://www.atf.gov/firearms/qa/does-individual-need-license-make- firearm-personal-use)

<comment><USER17> again you assume that California laws, or even US laws apply everywhere on the planet, they don't - the 2nd amendment is historical curiosity everywhere else

</comment></comment></comment></comment><comment><USER19> > The theory is that for the first time ever, publication to the internet, > apart from generating data, amounts to an export of technical data related > to defense services."

wasn't this the case with crypto 2 decades ago?

> "No," says Wilson. "It does not register on my meter. Whatsoever."

Seems like this could be phrased better at least.

</comment><comment><USER20> ...or you could just go to the hardware store and make a better one.

[http://www.wikihow.com/Make-a-Zip-Gun](http://www.wikihow.com/Make-a-Zip-Gun)

</comment><comment><USER21> I'm going to pedantically nitpick the title, but surely "3D" should apply to "print" rather than "guns". Printing 2d guns isn't a big deal.

<comment><USER22> Imagine a paper cut at 370 m/s

<comment><USER23> That is the stuff of nightmares.

</comment></comment></comment><comment><USER24> Everyone has a natural right to self defense. But by what means? We understand the laws of sciences like physics and thermodynamics, but we still can't agree on how humans should live. Why is that?</comment>


The other 99%: dropping scalaz as a dependency - <AUTHOR> http://www.monadic.nl/blog/2014/4/9/the-other-99

<comment><USER2> Would you be willing to write a post that explains how you replaced the different functional and type level patterns? I think it would be nice to see 'plain scala' and 'scalaz/shapeless' versions next to each other.</comment>


Dragula: Drag and drop so simple it hurts - <AUTHOR> https://github.com/bevacqua/dragula#readme <comment><USER2> With that name, the motto should be "Drag and drop that's not a pain in the neck".

<comment><USER3> That motto, plus its fantastic logo, would make it by far the best branding of any open-source plugin.

<comment><USER4> I was always a fan of HammerJS's branding, but it looks like they removed the silhouette of MC Hammer from their front page :( [http://hammerjs.github.io/](http://hammerjs.github.io/)

</comment></comment></comment><comment><USER5> On a slightly different note - have you ever wanted to click/tap to rearrange elements on -any- website?

Just yesterday I wrote a little bit of JavaScript that will let you reposition any element by dragging it: [http://codepen.io/tomhodgins/pen/LGJKdE](http://codepen.io/tomhodgins/pen/LGJKdE)

And of course, I also minified it so it can be used from the address bar or as a bookmarklet. The minified version is at [http://staticresource.com/dragon.js](http://staticresource.com/dragon.js)

Ive been having fun loading up sites I know, invoking the JS and then trying to rearrage the elements into better designs! For example, how would HN look if the reply buttons were aligned to the right edge of the textarea they are under, that would be an improvement :) We can try it out!

<comment><USER6> Please add a trash can in the corner so you can throw out any element you don't like!

Once I ran an X window manager on XCalc's client window. Each button got its own window frame, and you could move them around and iconify the ones you didn't need. Unfortunately the icons were bigger than the buttons.

<comment><USER5> Did you know in the developer tools (if you right click on an element and hit 'Inspect') if you have an element selected in the live DOM tree view you can hit delete or backspace (can't remember) and actually just delete that node from the rendered page!

If you want to cosmetically hide it without deleting it, you can click in the sidebar where there are all of the CSS styles there that apply to the element you have selected you can add (double click at the top of the sidebar and start a new rule)

        display: none

And the element will visually be hidden, while that content is still on the page in a hidden way.

What you would find, if I tried to add an 'X' button to every element on the page, is that often things are in multiple containers - and the most broken sites are usually the ones with the biggest HTML. It would be nearly impossible for you to 'X' out of elements visually top-down, the only way I can see you being able to get in and actually select which element to delete is using the tree-view in inspect element where you can navigate through the elements in the stack as though you're looking from the side and can touch just the layer you want.

</comment></comment></comment><comment><USER7> Previously (all by bevacqua):

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

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

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

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

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

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

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

<comment><USER8> Wow, that's some pretty blatant self-promotion.

<comment><USER9> HN has traditionally been full of self-promotion, in both submitted links and especially in comments (e.g., lots of "disclosure, I made X" or "shameless plug, I made X" or ...). It's not necessarily a bad thing since the community ultimately has control over what gets seen on top. And additionally sometimes you are your only advertiser.

(In this very comments page, people are talking about their own code they wrote with links to it, etc.)

<comment><USER10> > HN has traditionally been full of self-promotion...

Yes, but there are rules, and we all should play by the same rules. HNs rules state that if your story got significant attention recently (this story was 1st six months ago) it'll be killed as dupe. But the user has been sending it w/o stop even after that...

 _> Are reposts ok?

If a story has had significant attention in the last year or so, we kill reposts as duplicates. If not, a small number of reposts is ok._

[https://news.ycombinator.com/newsfaq.html](https://news.ycombinator.com/newsfaq.html)

<comment><USER11> "significant attention" is of course hard to define, but a max. of 3 scores does not count as significant attention in any book I know.

<comment><USER12> But 300 does: [https://news.ycombinator.com/item?id=9914045](https://news.ycombinator.com/item?id=9914045).

<comment><USER11> > got significant attention recently ...

I did not include the one submission with >300 because 200 days is not "recently" imho.

<comment><USER12> I see. But for HN the dispositive time window is a year, as described at [https://news.ycombinator.com/newsfaq.html](https://news.ycombinator.com/newsfaq.html). I don't know when pg came up with that but it was long before I started working on HN.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER13> I know it's not 'cool' but the fact that this supports IE7+ makes it infinitely more useful to me personally.

Looks very very nice after a short play with the demo!

</comment><comment><USER14> From the documentation: "You shouldn't include it in the <head> of your web applications. It's bad practice to place scripts in the <head>, and as such dragula makes no effort to support this use case."

Serious question: With nearly 20 years in JS development, the concept of placing scripts not in the head section as being desirable is new to me. (Just saying, it used to be the other way round. Common resources, like scripts were, aside from the title, the main reason, the head tag was introduced at all.) -- Is there a source to this notion of script embedding, or can anyone clarify? (What would be the winning propositions of not using parallel loading slots?)

<comment><USER15> If you have javascript in the head loading synchronously the page can't even begin to render until the javascript has loaded. Placing script tags at the bottom of the body allows the page to begin rendering while scripts are loading.

<comment><USER14> There's this facility called slots, at least this is, how it used to be. A resource to be loaded is assigned a slot as available (generally 8 or so) and the browser advances over resource tags. If a resource in the head section is going to be interpreted and is ready, the resource is processed, the slot is freed and available for further jobs. (This is partly, why only hard coded resources are of relevance for the document.DOMContentLoaded event.) There's no connection between single threaded execution and parallel slots.

(Edit: So this may be true for scripts that are requiring further resources, but there's no need for this with scripts that are completely self-contained, like dragula claims to be. Here, this might rather slow down the completion of the page.)

<comment><USER16> > There's no connection between single threaded execution and parallel slots

It has more to do w/ the DOM rendering. The rendering engine is required to wait for a javascript resource to download because it can't know in advance that the js file won't call `document.write`

`document.write` has a nasty property that it calls `document.open()` if the document is not open for writing (which clears the document). Before the DOMContentReady event, the document is open for writing (this is why, among other things, console.log(document.body) yields null and `document.write("<title>foo</title>") sets document.title` when called from <head>)

If parsing of the document was allowed to skip a js file until it downloaded, and if the script has a `document.write` call, then running the script upon download completion (which would typically happen much later than DOMContentReady fired) would trigger the implicit document.open() call, thus yielding different (and catastrophic) semantics.

<comment><USER14> What you're describing is the now ancient document stream model (document.open – document.write – document.close; calling document.open() after document.close implies document.open() and a loss of the content by an implied call to document.clear()). But I honestly hope, document.write() isn't used today (quite like "eval"), and everyone uses document.createElement(), etc.

As for the rendering engine having to wait for the resource as it hits it, this is exactly why you want it to be ready then, as opposed to just starting to download it and wait. (Even, if it is the very last tag, it will defer completion. And if every library were claiming to be the last one ...)

> If parsing of the document was allowed to skip a js file until it downloaded > (…) – This is, what the "defer" and the "async" attributes are for. (And, > again, you don't want to call document.open(), be it explicitly or implied, > because you would lose any content there is, since it implies > "document.clear()". This is Netscape Navigator 2.0 stuff, 1996, really.)

P.S.: What you're heading for, were mere work-arounds in times, when the document-object would have been created only as the parser hit the <body>–tag (up to and including Netscape 3) and when enumerated properties became available only after the body was opened (Netscape 4, etc). But even then, you would apologize in a comment, if such means were required. (E.g., while addressing Netscape 4's document.layers object in 1997.) Now, that there are so many means to do this appropriately, I see no reason at all of banning common resources from the head section and spreading them over the document.body.

<comment><USER16> If browsers decided to remove document.write and friends, then they would obtain a guarantee that running a script after the recursive DOM assembly routine yields the same result as running the script synchronously within it (regardless of what the script might potentially do), and they would be able to optimize the pipeline to allow you to put scripts in head without triggering a performance problem.

As far as usage in the wild goes, I've seen document-stream-related functions in rich text editors and comet (old school "websocket polyfills") codebases, but that was many years ago. I can't say for certain why browsers still support those functions.

</comment></comment></comment></comment></comment></comment><comment><USER17> Very nice. Just lightweight js and it seems to work great.

I was going to download it and found:

 _If you 're not using either package manager, you can use dragula by downloading the files in the dist folder. We strongly suggest using npm, though._

Why would they _strongly suggest_ installing npm? (obviously I don't use node)

<comment><AUTHOR> Because of updates and convenience. You could always use bower or the CDN alternatively. But since npm is the way I use most of the stuff I develop, that's what I recommend. You don't have to use node to use npm, but as a package manager it resolves lots of issues even for front-end components.

</comment></comment><comment><USER6> Is it as powerful as XView drag-n-drop under X-Windows?

[http://www.art.net/~hopkins/Don/unix- haters/x-windows/disast...](http://www.art.net/~hopkins/Don/unix- haters/x-windows/disaster.html)

The "drag-and-drop" metaphor tires to cover up the Unix file system, but so little of Unix is designed for the desktop metaphor that it's just one kludge on top of another with little holes and sharp edges popping up everywhere. Maybe the "sag-and-drop" metaphor is more appropriate for such ineffective and unreliable performance.

A shining example is Sun's Open Windows File Manager, which goes out of its way to display ore dump files as cute little red bomb icons. When you double- click on the bomb, it runs a text editor on the core dump. Harmless, but not very useful. But if you intuitively drag and drop the bomb on the DBX Debugger Tool, it does exactly what you'd expect if you were a terrorist: it ties the entire system up, as the core dump (including a huge unmapped gap of zeros) is pumped through the server and into the debugger text window, which inflates to the maximum capacity of swap space, then violently explodes, dumping an even bigger core file in place of your original one, filling up the entire file system, overwhelming the file server, and taking out the File Manager with shrapnel. (This bug has since been fixed.)

But that's not all: the File Manager puts even more power at your fingertips if you run it as root! When you drag and drop a directory onto itself, it beeps and prints "rename: invalid argument" at the bottom of the window, then instantly deletes the entire directory trwe without bothering to update the graphical directory browser.

<comment><USER18> What does any of this have to do with Dragula?

<comment><USER12> Talking about drag-and-drop in a thread about a drag-and-drop library is surely on topic.

</comment></comment></comment><comment><USER19> God I love that logo: [https://github.com/bevacqua/dragula/raw/master/resources/log...](https://github.com/bevacqua/dragula/raw/master/resources/logo.png)

</comment><comment><USER20> Ah neat. Bevacqua does some great work. If you're interested in JS, browse his github repos and check out ponyfoo.com

</comment><comment><USER21> Very nice. I once made a shipping planner in X that worked with drag and drop: It was basically a packing game with orders and trucks. You drag the day's orders around to arrange them on the trucks as you like (also you can drag the trucks around, and each truck was a list of orders with a scroll bar). Each truck shows its current capacity and turns red if the capacity is exceeded. Each order shows its delivery address and size (plus you can click on it to view the whole thing). When you are done, you click a button to print the pull tickets, bills of lading and delivery tickets all in the right order. The shipping guys loved it.

(Yes, you could try to use an optimization algorithm to do this- at the time I had no access to the map information needed for it. Actually it would have been difficult to beat the shipper's knowledge anyway.)

Were I to make this app again, I would want drag and drop in a web application. I'm not sure if Dragula allows dragging between frames (and dragging frames themselves).

</comment><comment><USER18> I'm enjoying playing with this. The only bit so far that I don't like is that to trigger a switch, the mouse needs to cross the halfway point of the element you want to swap positions with: in my application, it would be much more intuitive for an element being dragged to "claim" a drop-target as soon as the mouse moves over the target. I haven't yet found a way to accomplish this with Dragula.

<comment><USER18> Actually I've gone ahead and worked on it myself, in order to make it compatible with a grid layout (which was the more general problem I was trying to solve).

I still need to clean up my modifications, but I should have a pull-request out within the next day or two, adding 'grid' to the existing 'horizontal' and 'vertical' direction options :)

</comment></comment><comment><USER22> > Framework support includes vanilla JavaScript, Angular, and React.

Any reason why jQuery isn't on this list?

<comment><USER5> If there's a vanilla JS version already why would you need it to use jQuery? Wouldn't that be introducing a new 'single point of failure' into this code on your page? If there's any problem with jQuery or jQuery on your page then this code would then also be vulnerable. As-is it's good to go :)

</comment></comment><comment><USER23> Haven't tried it yet, but I just wanted to comment that the logo and the name are just perfect!

</comment><comment><USER24> I tried this project recently. I don't have good reviews. Unbinding the drag / drop and re-binding was such a pain I gave up and went to SortableJS, which is very simple to use.

</comment><comment><USER10> What's the point of sending this again?

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

I thought this was considered spammy behaviour: [https://hn.algolia.com/?query=dragula&sort=byPopularity&pref...](https://hn.algolia.com/?query=dragula&sort=byPopularity&prefix&page=0&dateRange=all&type=story)

I'm not saying that the lib isn't great.

<comment><USER25> One point of sending this again is that I didn't see it 200 days ago. This is awesome and I'm glad it was submitted again. I'm gonna use this in the future!

<comment><USER10> We all miss many stories, but HN's rules are quite clear about reposts:

 _> Are reposts ok?

If a story has had significant attention in the last year or so, we kill reposts as duplicates. If not, a small number of reposts is ok._

[https://news.ycombinator.com/newsfaq.html](https://news.ycombinator.com/newsfaq.html)

I've seen this story at least 3 times in the last months both on new & 1st place in the front page sections:

[https://hn.algolia.com/?query=dragula&sort=byPopularity&pref...](https://hn.algolia.com/?query=dragula&sort=byPopularity&prefix&page=0&dateRange=all&type=story)

<comment><USER26> Only one of posts got any attention and it was 7 months ago. I hardly call that "significant attention". Which, by the way, is completely subjective and thus the opposite of "quite clear".

<comment><USER27> The same user has been posting this multiple times a month, almost every month. Now that this entry got attention, I hope he stops, although his first post got very signification attention and it hasn't even been a year.

<comment><USER28> Don't you have better things to do than worry about this?

<comment><USER12> That's not nice. The fact that users worry about HN being good is the most important thing keeping it good.

</comment></comment></comment></comment></comment></comment></comment><comment><USER29> Pretty rad, however the issue I see using this on mobile, is that the act of scrolling the page, moves elements around.

</comment><comment><USER30> Upvoted primarily for the repo name.

</comment><comment><USER31> Mmmh no CDN? I wanted to quickly try it on jQuery but couldn't

<comment><AUTHOR> [https://cdnjs.cloudflare.com/ajax/libs/dragula/3.6.3/dragula...](https://cdnjs.cloudflare.com/ajax/libs/dragula/3.6.3/dragula.min.js)

</comment></comment><comment><USER32> It will be super cool with resizable functionality

</comment><comment><USER33> Can this be used in a Rails project?

</comment><comment><USER34> Demo works on mobile well. Nice.

</comment><comment><USER35> Nice logo

</comment><comment><USER36> Can you dig trough the ditches and burn trough the witches with it?

</comment><comment><USER37> Build is failing now.

</comment><comment><USER38> tldr: seems to be some browser thing.</comment>


Ukraine: Rent-a-Crowd Entrepreneurs Find People to Cheer/Jeer for $4 an Hour - <AUTHOR> http://online.wsj.com/article/SB10001424052748703575004575043174183721124.html

<comment><USER2> Heh. Political candidates here (Ukraine) also offer you 300 UAH (about $40) to vote for them. The elections are in a few days.

<comment><USER3> Unlike the US, Ukraine has a very high percentage of voters. In some regions it's well over 100%.

</comment></comment><comment><USER4> So basically you are charging for a flash mob? Sounds pretty interesting actually I wonder if you could do it in the states (Obviously more money).

<comment><USER5> People already form flash mobs without being paid, right? Pay-for-supporters in Ukraine could be the result of adding capitalism to former communist regions' nascent political systems,

</comment></comment><comment><USER6> I think this isn't unique to Ukraine - its commonly done in most of the democratic world. Its rather rare only in the richest countries.</comment>


Vulcan-74 – A 6502 Retro MegaProject - <AUTHOR> http://forum.6502.org/viewtopic.php?f=4&t=3329

<comment><USER3> This looks like a lot of fun. A couple years ago, I built an 8-bit CPU from 7400 series logic gates on a giant breadboard and learned a ton. And it still works today! I strongly recommend a project like this to anyone who might be interested.

I made a few videos demonstrating it:

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

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

I'm slowly working on putting together a more detailed tutorial for building such a thing. I actually think with the right guidance this is a very accessible project for someone without much background in electronics or computer architecture to learn a lot from.

<comment><USER4> @beneater - if I wanted to wire-wrap my own system like this, what's a sensible way to think about managing the wires, and what sort of boards to get? These are naive questions - I've done some electronics theory but hardly anything practical. I've now read a couple of tutorials about wire-wrap pen tools, but I don't yet have a feel for the boards. Maybe I'm googling for the wrong things. Also, what is the name for the thing that you mount a microchip in, in order that you have a lead to wrap around?

<comment><USER5> "Wire Wrap DIL sockets" are the thing you want. Obviously this requires DIL chip packages too. The boards are unplated veroboard with 0.1" hole spacing.

It will be tempting to gather wires next to one another in neat rows, but this worsens crosstalk. You can probably achieve speeds of several MHz with wirewrap. With a small amount of practice it's the fastest _prototyping_ technology and easier and cleaner to rework than soldering.

<comment><USER4> This is very helpful, thank you. In particular thanks for the tip about not lining things up in rows, because that's just what I would have done. I could probably write a script so that I could design things in neat rows on a screen, and then it could fit it for me in a tight bunch, and then I could wrap it.

Are there smart ways to use decoupling capacitors to get more?

How do you get a feel for how much room you have to play with as far as MHz? Is it just a case that you start with something small, and then go up until it breaks?

Are there practicalities of what chip generations is possible with wire-wrap? 6502 would be possible with wire-wrap. What about Motorolla 68k? (Also - <USER2> is the most sophisticated 68k chip that's still commercially available? Speed and memory addressing are important, MMU is not.)

<comment><USER5> You can get built in decoupling capacitors: [https://www.mill- max.com/products/socket/122-XX-XXX-41-80100...](https://www.mill- max.com/products/socket/122-XX-XXX-41-801000)

You could certainly estimate the clock frequency in advance. The things that are going to cause trouble are transmission line effects (ie pulse length no longer >> wire length), and the usual digital logic critical path constraints: wire and gate delays; clock skew and drive strength; fanout constraints.

More decoupling doesn't help you once you have enough to prevent crosstalk through the power supply. Star-routing the power and ground may be a good idea.

I've done 20MHz. Coincidentally this is the limit of cheap scopes. This page claims 33MHz is achievable, and gives a good explanation of why: [http://www.sigcon.com/Pubs/news/2_8.htm](http://www.sigcon.com/Pubs/news/2_8.htm)

Some good tips: [https://www.pjrc.com/tech/8051/dev-board- wirewrap.html](https://www.pjrc.com/tech/8051/dev-board-wirewrap.html)

Reccomendation to use the kind of board with built-in ground plane (sounds good if you can find it): [http://www.williamson-labs.com/prototype- lt.htm](http://www.williamson-labs.com/prototype-lt.htm)

For IC availability, check your local Digikey. Note that 68k is still being manufactured as "Coldfire" by Freescale (with slight backwards incompatibility).

</comment></comment></comment></comment></comment><comment><USER6> Sounds like fun. Around the mid-80s I tried to build a custom GPU with dedicated raster op hardware, all with hand-wired 74LS chips and VRAM, and connecting to an Apple ][ bus. Parts of it sort of worked -- it at least generated a valid video signal and it could copy 16x16 memory blocks, but it was damn hard to debug with just an analog scope.

You should decide what the rules will be for using logic analyzers. I won't think less of you if you allow modern debug technology.

<comment><USER7> They had logic analyzers in 1984, right? I think that's the general rule the author is trying to stick to.

<comment><USER8> Logic analyzers definitely existed but cost stopped them from being present anywhere but professional r&d facilities.

Scopes were omnipresent, if you had a logic analyzer in 1984 you were a local god and people would regularly offer you their firstborn for access.

<comment><USER9> We had Intel hardware logic analysers before 1984. I used them at the Mullard factory (Philips semiconductors) in Southampton to debug Signetics 2650 embedded controller problems around about 1980. Of course that's a long time ago so my memory might not be 100% precise. I wish I had kept a copy of the drawings for some of those projects, still look back fondly on those things, hardware was so much more fun in some ways than software which is what I do now.

</comment></comment></comment></comment><comment><USER10> One YT view leading to an other, I ran into this: [https://www.youtube.com/watch?v=0jRgpTp8pR8](https://www.youtube.com/watch?v=0jRgpTp8pR8)

7400 logic CPU, running a port of Minix, C compiler, assembler, TCP/IP stack, apps, etc...

</comment><comment><USER11> What are the typical functions/acceleration that this type of GPU supports other than the blitter mentioned in the post?

I'm very surprised to see so few chips being used; doesn't 7400 logic only give you ~4-8 gates per chip?!?

<comment><USER12> The 74-series is not just plain gates, there are multiplexers, latches, counters, adders, and even complete ALUs.

<comment><USER13> \+ shift registers, amplifiers ("bus drivers"), tri-state thingies, carry generation circuits (for faster ALUs, especially when you connect several ALU chips together for wider additions).

</comment></comment></comment><comment><USER14> This is the most epic hardware-related thread I think I've ever seen. Fantastic! :)

I have an FPGA dev board and have wanted to do something like this; start with VGA generation and work my way up to sprites.

<comment><USER15> I believe this guy [http://c65gs.blogspot.it/](http://c65gs.blogspot.it/) is doing something like that, recreating the Commodore 65 that never was.

</comment></comment><comment><USER16> can anyone recommend a good electronics book ? i'd like to build one of these things but would like some more basic understanding first.

<comment><USER17> I highly recommend Nerdkits ([http://www.nerdkits.com](http://www.nerdkits.com)). It is a kit, but the real value is in the excellent ebook that comes with it.

<comment><USER18> I second that recommendation. The real selling point for me was that they didn't try to make some sort of "friendly layer" for the beginner to work with. Instead, you build the kit from commonly-available components on a breadboard and learn how everything works from the ground up.

Reading that ebook was a real revelation: exciting and a real boost to my confidence with electronics.</comment></comment></comment>