Turns out claims Airbnb was taking houses out of the rental market were right - <AUTHOR> https://twitter.com/whimsley/status/1241425945686429699 <comment><USER4> I live in a place with a lot of tourists and second homes. AirBnB was beginning to reduce the lack of supply in the local hotel market, which caused the hotels to petition the city council to put an end to non-owner occupied short-term housing. This was done under the guise of improving the (admittedly) tight rental market.

The problem is, the following things happened as a result:

\-- Existing short-term rental properties were grandfathered, which artificially has made those properties more valuable.

\-- A lot of properties that might have previously been purchased and renovated by investors sit idle because the investors can't turn them into short-term rentals.

\-- We have a lot of cottages / really small properties here, that are good short-term rentals but not great regular rentals. so basically a lot of garbage rentals came available that did nothing to actually help our rental market.

\-- The hotels knew they now had a more captive market than previously.

So while I appreciate the sentiments of those who wanted to end short-terms rentals in the name of affordable housing, at least in our local market it has not been a good thing.

<comment><USER5> I get the sense that a better solution would be to make home ownership as simple as renting. A few ideas:

\- One page contract

\- Ban loans for private home ownership (or socialize them but you would have to do that in a a very particular manner)

\- No property taxes for up to two homes

<comment><USER6> I think the first idea alone would be highly beneficial. If someone could read one page and actually understand what they are getting into.

Maybe an additional required indicator on that page of "is purchasing this home a good financial decision for the purchaser given their income" on a scale from 0-10.

Just a month ago I saw a coworker get screwed financially on a home purchase. And now with a recession knocking on the door, oof.

<comment><USER4> As I look at home purchase contracts every day, to me they are really simple - in most states, they are a standardized fill-in-the-blank form. So is it the contract or the mortgage docs that are concerning here?

I'm curious to better understand your co-workers situation as well - was it a case if overextending themselves or caveat emptor on some part of the transaction?

</comment></comment></comment></comment><comment><USER7> If we restricted the manufacturing of cars, soon there would be articles about how car rental services are taking cars out of the car market.

<comment><USER8> Car rental companies purchase large numbers of cars each year (look up "fleet cars"). They are generally automakers' biggest, best, and most reliable customers.

If you restricted car rental services from buying cars, you might very well cause the collapse of the automobile industry.

In contrast, killing AirBnB does not negatively effect the housing market, because people still need places to live. AirBnB generally increases the cost of housing in every housing market in which it operates because it reduces the number of housing units available. (Example: once LA and Santa Monica cracked down on AirBnB and began regulating short-term pseudo-hotel stays, rents plateaued and began dropping, benefiting thousands of people in the LA area. The only people harmed were the investors who bought multiple residential properties and illegally converted them to unregistered hotels.)

<comment><USER9> Why kill Airbnb instead of simply building more housing?

Cities should allow enough housing to meet demand for both short term and long term rentals.

<comment><USER10> I my similarly affected local area it's many factors that are prevented new housing that is needed / being taken out by investors around the globe buying chunks of the market for short term rentals and others who are slated to move here it seems.

All the builders are busy. Getting construction help around here is a crazy process these days (referring to the year BCP / before covid pandemonium) -

builders that have the ability to build are generally focused on building more expensive houses to get more money (not average homes that were built long ago).

the ones that have the money (from whatever sources) to build the minimum code skinny homes that do well for maximizing cost for arbnbs seem to be gobbling up any and all possible property that fits in the zoning places that these can squeeze into - limiting the market for others who want to build their own (who already live here)

The part of town I currently live in, the neighbor groups are NIMBY NIMBY - <USER2> recent meeting I sat in where a local developer was exploring putting in a dozen townhomes / condos into a larger development with single family homes - everyone there just wanting to complain about the effects of other development in the area.

The price of land is going up, and the cost to develop the land. Building affordable is not as easy as it was some time ago.

Some of council is telling citizens to downzone property en mass in order to prevent more affordable options from popping up in their neighborhoods. I heard our last council meeting they attempted a county-wide zone change.

It's become clear to me that some of these council folks really are 'our neighborhood character, the children!' type people.. however it seems that many of them are spouting similar types of scare mongering things while really just propping up the value of all the Marriot properties in the city (by trying to limit the airbnb and similar).

It's been an interesting show to watch. I don't think supply and demand is going to turn all these, now mostly empty, hotel properties back into affordable housing for the locals. They will just sit there and maybe be traded as distressed properties and be rebranded as some other brand new basic like the self storage places.

At least that's how I see it around here in a nutshell - there are many other interesting dynamics going on. Quite the complex play to watch actually, with characters from all over vying to push norms wherever they can get away with it - while the average families try to figure out where they can afford to live.

The things the surrounding counties are doing to prevent the people from here moving there is also another interesting set of things to watch with wonder.

</comment></comment></comment></comment><comment><USER11> Can we change the submitted post? I didn't see any sources quoted on that Tweet, just an animation. Side note: please stop submitting or otherwise citing "Twitter threads". They're terrible.

But there does seem to be some basis for this eg [1] [2]. And I can believe it.

I've long since held the opinion that Airbnb is a cancer on society. While Uber allows you to get value from a vehicle you may already own (at the cost of wear and tear, mind you) and there are many, particularly those in the US, who seem to hold this view that "it's my home, I can do what I want with it", the reality is that neighbours of that Airbnb bear the externalities and the cost of your listing and it's not easy for most people to up and move.

Another way of putting this is that it is a tragedy of the commons as Airbnb "hosts" extract value from a community that bears the cost with little choice in the matter.

This lazy (and typically selfish) twisted version of "free market" thinking quickly erodes when, for example, I propose using my house that's next to yours as a tannery or a toxic waste storage site.

My only complaint about jurisdictions trying to crack down on this is that their efforts have been too slow and anaemic. NYC is plagued with what are essentially illegal hotels. There are a reason that hotels exist in the current form and place. It's for the safety of guests (eg compliance with fire codes) and the benefit of residents (ie zoning).

[1]: [https://www.independent.ie/world-news/coronavirus/homes- for-...](https://www.independent.ie/world-news/coronavirus/homes-for-rent- climb-as-airbnb-market-tumbles-39063281.html)

[2]: [https://www.balls.ie/the-rewind-news/something- interesting-h...](https://www.balls.ie/the-rewind-news/something-interesting- happening-dublin-rental-market-428463)

<comment><USER12> > the reality is that neighbours of that Airbnb bear the externalities

What toxic waste, exactly, do Airbnb listing dump on their neighbours?

Professional Airbnb investors buy up whole properties, renovate them, run them as a hotel with regular cleaning and services provided. Their shot-term residents use the same amout of public transit, water and utilities services as long-term renters next door.

The only real inconvenience is that it's driving property prices up - <USER3> that's not an externality. That's just a reality of a market where some type of customers agree to pay a higher price for something, and it's price goes up for everybody. I don't see any reason why market should be artificially tilted towards long-term renters as opposed to short-term.

<comment><USER13> The issue is that of trust; if you have a full-time neighbor (renting or owning), you generally trust that they will respect the building/neighborhood, and over time will grow to trust them as people. They're more accountable. When you have random people flowing in and out every few days, that trust is not there. For example, Airbnb guests won't go out of their way to be sure to honor quiet hours... why bother if they're just there for a few days and don't have to deal with the neighbors on an ongoing basis?

I absolutely love using Airbnb and prefer it over hotels in nearly every place I visit, but I won't pretend it's somehow good for the neighborhood or neighbors.

<comment><USER12> It's hard for me to respond to this, because personally, in I don't think I've ever met a single neighbour and never had "trust" to any of them - and if there was a noise above a certain level, I just called the police to deal with it instead of going out of the apartment myself. "Trusting them as people" even sounds weird because I don't even know who those people are. I guess it's a cultural thing.

</comment></comment></comment></comment><comment><USER14> Good. Rentals charge 2 months rent and a deposit. The only reason I can afford housing is because of airbnb. It's the only place I can find housing that doesn't do that BS.

That's here in Merida, at least. I wish the rental market would crumble. It's absurdly difficult for a normal person to rent a decent dwelling. The hostel I rent at is full of people in a similar situation. The more conventional rentals get replaced with airbnb's that allow monthly stays, the better.

The supposed legal protections of conventional renting don't exist, and airbnb is actually a better enforcer of agreements than my government.

<comment><USER15> > Good. Rentals charge 2 months rent and a deposit. The only reason I can > afford housing is because of airbnb. It's the only place I can find housing > that doesn't do that BS.

Security deposits and upfront rent address the problem of deadbeat tenants who may destroy the property or simply not pay the rent. It's skin in the game to show you're responsible.

<comment><USER14> Upfront rent is totally fine, Airbnb itself charges upfront. But 3 upfront rents? Ive never gotten a deposit or the extra rent back at the end. Airbnb isnt a real solution but i dont think landlords ever were either

<comment><USER13> As a counterexample, I've lived in ten different rentals over the past 18 years, and I have _always_ gotten my deposit (minus reasonable cleaning fees, and in rare instances the cost of damage that was legitimately my fault) and any extra rent back at the end. Sure, there are shitty landlords out there who screw over their tenants, but it's not universal.

<comment><USER16> I have always been under the impression that they can only take money out of your deposit for _unreasonable_ fees. There is an expectation that wear and tear occurs from living in one spot.

</comment></comment></comment></comment></comment><comment><USER17> Good to see hard data supporting this, but this was always obviously the case. Only reason there was even a conversation was because Airbnb lobbied and placed ads in specific markets to mislead renters about their economic impact.

</comment><comment><USER18> This doesn't prove it at all. There's an increase in available hotel rooms, too.

That doesn't mean there aren't Airbnbs that would otherwise be longer-term rentals. Of course there are, the logic is just bad. This also doesn't necessarily mean rentals used for Airbnbs are inherently "bad," either. It's complicated.

<comment><USER19> Yeah, lots of people have been forced to prematurely leave to go back to their home country.

</comment></comment><comment><USER20> Was this ever seriously debated? As far as I know the only question ever was the size of the effect, not whether there was any effect at all.

<comment><USER21> Go read any of the old HN threads on AirBNB. Saying this had these kind of effects was decried as "hotel industry propaganda."

<comment><USER22> I've never seen "hotel industry propaganda" but the effects on market were debated and often very doubted.

Now it seems there is evidence.

</comment></comment></comment><comment><USER23> To be fair, only Airbnb and Airbnb landlords were thinking that Airbnb didn't hurt the local rental market. The rest of us knew.

<comment><USER24> To be fair, it started out more like paid couch surfing and then pivoted. The original idea was sharing your home part-time, not dedicating a private residence to short term rental use, which is what it has mostly become.

This is probably not where the founders really meant for it to go.

</comment></comment><comment><USER25> I honestly don't understand why European cities don't go nuclear against AirBnB. There's so much money to be made in fines and instant political approval from virtually every tenant.

<comment><USER26> Most European cities are heavily dependent on tourism and tourism directly and indirectly contributes >5% of GDP of many countries[1]

A large part of the growth in tourism over the last 15 years can be attributed to cheap flights and cheap housing, via Airbnb and the likes (I.e hotels have not added the number of rooms needed to support this tourism boom).

Given the tepid economic growth in the Euro-zone over that period, I doubt they want to kill the golden goose.

[1] [https://tcdata360.worldbank.org/indicators/tnt.tot.contrib.g...](https://tcdata360.worldbank.org/indicators/tnt.tot.contrib.gdp?country=BRA&indicator=24693&viz=line_chart&years=1995,2028)

<comment><USER25> When I lived in Berlin, there were 5 apartments in my building on AirBnB, owned by a single landlord. Within 2 minutes of my place there were 3 hotels and 2 serviced apartments complexes. Maybe some cities lack hotel rooms, but in most cases it's just taking advantage of tourists trying to save a couple bucks.

<comment><USER27> But that's what you want -- if the tourists save a couple bucks on lodging then you get more tourists, who buy more food and merchandise etc. If they have to stay in an expensive hotel where you are but can get a cheap room in a competing country, many will go there instead.

And if you're worried about losing housing to rentals, now you've got some disused hotels you can turn into apartments or condos.

<comment><USER28> That's just not true, most importantly it's not sustainable. Hotels are regulated for a reason and are in taxation, need insurances and permits for whatever makes sense to the host city, although they constantly lobby against it. In thebest case the city can plan their infrustructure accordingly, with unregulated and unregistered hotels that's near impossible. Too much tourism is not what most people who live in those cities want to begin with, they want to live there. People who save bucks on usually one one thing are usually not just frugal in that dimension.

<comment><USER27> How is it not _sustainable_? Tourism is profitable.

It's regulated because of suffrage arbitrage -- most of the local population doesn't care what the government does to tourists and the tourists can't vote in local elections. But that's just taxation without representation. It tends to be inefficient, because it suppresses the natural amount of tourism by over-taxing it to the detriment of the local economy. It also hurts everyone when everyone does it because then you're the victim of it on the day when you're the tourist and it's you who has no vote in unreasonable lodging restrictions or taxes.

And cities don't need to regulate the amount of housing in order to build infrastructure for it, all they have to do is observe it. If you build more buildings they need more sewers, but you shouldn't need their _permission_ to build more buildings, they should just build more sewers with the property tax you'll be paying on the new buildings.

> People who save bucks on usually one one thing are usually not just frugal > in that dimension.

That sounds dangerously close to an argument that poor people are undesirable and should be excluded.

And it isn't even accurate -- poor people have to eat too, and better that you get their business than somebody else. Plus, rich people will take a good deal on a room (see also: how they got rich), doesn't mean they don't have money to spend when they get there.

<comment><USER28> Have you ever talked to any citizens from Tourist Metros (Berlin, Paris, Porto, Milan) in Europe, Tourism is not what defined any of those cities nor is it of hyper-essential economic importance. Tourism for itself only works for purpose built resorts and specialized, not so urban destinations (Coastal Towns, Ski Resorts).

If uncontrolled, tourism takes over those places, eventually, there is little left for tourists to come to, what made the place interesting to begin with.

Unregulated conversion from housing capacity to other uses destroys the social core of neighborhoods, if there are no hard enforced laws against it.

Tourism for a few bucks cheaper in not human right, right to housing is, disproportionally more relevant to the economically most vulnerable people of each neighborhood.

My family travelled France on a budget in the early 90s just coming out of GDR. Doing Housesitting, Camping or Hotels in the outskirts, it was perfectly fine travelling into Paris for 45 Minutes to do sightseeings and Museums.

Doing this on a daily basis, because you were pushed out of your old neighborhood, because of indirectly rising rents or direct airbnb-repurposing, where your job and friends are still, is a whole nother story.

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

<comment><USER27> > Have you ever talked to any citizens from Tourist Metros (Berlin, Paris, > Porto, Milan) in Europe, Tourism is not what defined any of those cities nor > is it of hyper-essential economic importance.

Then why would you expect it to have any major effect on housing availability there?

> Tourism for itself only works for purpose built resorts and specialized, not > so urban destinations

Disagree. Look at New York City. It's full of tourists who come there for the city itself. And it has hardly destroyed the city.

> Unregulated conversion from housing capacity to other uses destroys the > social core of neighborhoods, if there are no hard enforced laws against it.

This is only true if building new housing is prohibited, because otherwise _conversion_ isn't necessary. If tourists want to come, converting existing housing only makes sense if it's unoccupied, otherwise it's more profitable to carry on collecting rents from existing housing and build new housing for tourists so you can get their money too. (There may be cases where it makes more sense to build new housing for long-term residents while converting existing stock for tourists depending on the nature of the existing stock, but that still isn't a reduction of housing stock for existing residents.)

What deprives people of housing and makes it cost more is refusing to build more in respond to higher demand.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER29> Did anybody even doubt this? In cities like Amsterdam, Barcelona and Berlin this was blatantly obvious.

<comment><USER30> There are plenty of people who have financial incentives to doubt it since it's more profitable. Any time some city tries to restrict it you'll reliably see people dismissing it as a minor non-issue.

<comment><USER29> "And nobody was really poor. At least, nobody worth speaking of".

</comment></comment></comment><comment><USER31> I'm rather torn about the Airbnb model.

One, hotels charge way too much money. When a hotel room costs $300 to $500 per night, then this will quickly burn your travel budget.

Two, Airbnb hosts are often, rather dishonest with their listings.

But, Airbnb is the only way to rent someone's house in a distant location, where your family and extended family can stay together to get away. It's impossible to do this with a hotel, and very expensive too.

Initially, some people got enterprising, and rented out their homes to help pay their mortgages. And they charged a modest fee for it. For a while, this seemed ok, as you were helping out someone to pay off their expensive mortgage. Like, Yeah! Stick it to the rich bankers, and all the jackasses that contribute to expensive housing.

But then, soon others, turned it into a hotel operation, where investors would team up to buy houses and apartments, only to rent it out on Airbnb. And when this happened, everyone else started doing it, and so the initial Airbnb business model was no longer socially or morally acceptable.

You and I, as an individual, cannot compete against a team of 5 investors that buys the property outright. Our individual goal, is to put down roots, build a family, and contribute to the community so our children can have a stable place to live.

Their goal, is to make a profit, and later flip the house for an even larger profit.

For better or worse, maybe this coronavirus will destroy the Airbnb business model. Its initial thesis, is no longer socially acceptable.

<comment><USER32> Before AirBnB, you just had BnBs. In England at least they were often farmhouses, and the owner literally makes you breakfast if you were staying in their main house (this was a large part of it). I'm not sure what if any regulation applies if you are a BnB like that. In fact, it's such a part of British culture, there is a game show where 5 BnB owners stay at each other's places and see who is ranked best. The show airs every week. AirBNB are parasites.

<comment><USER33> It's not AirBnB. It's again society kicking down. Many more people now travel and use AirBnB, because it made travel cheaper. The downside is that housing got even more complicated.

However, building new supply is very much demand driven. And AirBnB pushed up demand, which lead to more units built. (Probably some hotels were not built, etc.)

This "parasite" thinking is just impotent rage. The real problem is the lack of housing supply. City dwellers are rather resistant to change. Development is noisy, draws more traffic, casts a shadow, etc. Yet most of them are also renters.

It's the classic participation asymmetry. The vocal minority trumps the silent majority.

<comment><USER34> > The real problem is the lack of housing supply

I guess one group of people are suggesting that we adjust the demand to the local people who live and work in the city rather than allowing the demand of tourists to take the supply. In some areas it's also simply not possible to change the supply as all the land who could be built on, is already built.

I for one would love to see a re-prioritization for the local people in favor of tourists, and we're slowly seeing that shift happening now.

<comment><USER33> I have absolutely no problem with communities, cities deciding how they allow basic usage of property that affects others. (The typical complaint is that short-term rentals cause a lot of disturbance, new people every week, parties every week, and so on.)

But directly prohibiting short-term rentals just because they take up units is the same short sighted "solution" as prohibiting high-density mixed-use development.

Cities that are growing/booming/trending are attracting people all over the world nowadays. For work, for leisure, for simply living there. I'm not saying just start building high-rises like there's no tomorrow. (Actually I think simple quotas with lottery systems would work best.) Control the influx, not just one symptom.

> land who could be built on, is already built.

Could you describe such an actual example? I can't really think of any place on Earth where we can't easily increase population density by building up.

</comment></comment></comment></comment></comment><comment><USER35> As someone observed in the Twitter thread, +64% only means a handful (about 150) new flats on the market, since there's so few at the moment. They are now on offer for long term rental, so once they'll be taken they'll be out of the market possibly for years.

This is why comparing long term rentals and airbnb makes little sense: yes, half of the flats for rent at any given moment are for short term. But _they 're always the same ones_, over and over again. They could increase the long term offer only for a few days before disappearing for good.

</comment><comment><USER36> Anyone think Airbnb will take a hit after people become more concerned with covid? Creating a less travel friendly society and if they have to travel for business they will demand a properly cleaned hotel room?

<comment><USER37> Take a hit after? Heck, let's talk about right this second. It's already happening: [https://www.wsj.com/articles/airbnb-racks-up-hundreds-of- mil...](https://www.wsj.com/articles/airbnb-racks-up-hundreds-of-millions-in- losses-due-to-coronavirus-11584723498)

Paywall, but even just the headline and first paragraph tell you what you need to know.

And yeah, I don't see how this doesn't completely decimate their business model. The likely coming worldwide recession will see far less spending on travel, not even counting residual behavioral changes re: covid as you mention.

UPDATE: Non-paywalled article: [https://finance.yahoo.com/news/airbnb-mulls- cash-infusion-in...](https://finance.yahoo.com/news/airbnb-mulls-cash- infusion-investors-145507408.html)

</comment></comment><comment><USER22> Market in Prague has been flooded with new cheap offers. The catch - It is always just for maximum 6 months.

I doubt this will change anything longterm unless it becomes proof for policy makers to ban airbnb.

</comment><comment><USER38> Firsthand experience: My family was evicted from a two unit home in SF. We lived in one unit, the owner in the other unit. One unit is now listed on Airbnb.

<comment><USER39> IANAL.

What grounds did the landlord use to evict you? How long between you guys leaving and the Airbnb business starting.

Did you receive any and all relocation payments required by law, and has the landlord continued to file the required annual paperwork with SFRB?

If the eviction reason was either 'owner move-in' or 'relative move-in' then, if the landlord subsequently decided to rent out the unit again with the next few years, they are required by law to first offer the unit to you at the original rent. If you decline, they can rent to someone else, but again only at the original rent (plus the city-mandated max annual increase %). (And, no, the landlord can't get around this by airbnb'ing the other unit, and moving in to your unit.)

I'm less familiar with Ellis Act evictions, but my understanding is that these also prevent the landlord from re-renting the property for a significant period of time.

</comment></comment><comment><USER40> It always bothered me how Airbnb never addressed its impact on the residential housing market. Between the safety issues, Covid, stories on scams, and the greater awareness around its impact on housing I hope local governments really start regulating them more.

</comment><comment><USER41> An important caveat here is that it's from a low base; Dublin has a massive property crisis and there are typically very few rentals on the market.

</comment><comment><USER42> On a side note : airbnb must be really happy to have all the profit, but no risk right now.

</comment><comment><USER43> Note that 64% of new listings is very different than 64% of all properties. e.g, last I looked 1.5% of SF properties were on AirBnB (down from 3% before the recent regulations), though unclear what fraction were available for rent full-time. So at least in SF I don't think removing AirBnB would really change supply in a meaningful way.

<comment> as-j It would make a big difference to me. :) But it would not change supply.

I have an airbnb off my garage. It's a granny flat, a bed, a small bathroom and a kitchenette. A sink, but just a hot plate a fridge and no oven. It's not somewhere you'd want to live for a long time, in my opinion. But it's a great place to crash for a few days, have a cold breakfast, some oatmeal, reheat left overs, etc.

There's people like me who it helps live in SF and offset property taxes, price of the house, etc. Bad actors/bad markets/etc certainly do exist, but like all things it's complicated.

<comment><USER21> It's not really though. SF has a housing crisis. We would all be better off if an unhoused person was living there or someone with lower paid but necessary job (e.g. caretaker at a nursing home).

Making money off people on vacations is worse than providing stable housing for people in the city.

<comment> as-j The city prohibits from being rented long term since it lacks a full kitchen. The SF rules are, I could not airbnb if I could rent it long term.

<comment><USER21> Is this still true under the all statewide ADU legislation that came into effect this year?

[https://www.forbes.com/sites/forbesfinancecouncil/2020/03/12...](https://www.forbes.com/sites/forbesfinancecouncil/2020/03/12/californias- new-accessory-dwelling-units-laws-what-you-should-know/)

</comment></comment></comment></comment></comment><comment><USER44> If anything good comes of this crisis I hope it is the dismissal of the 'gig' economy's nefarious cancerous business-models that rely on regulation dodging, negative externality dumping and worker exploitation.

If we have to reboot the economy, let's get rid of the vilest anarcho- capitalist and environmental destructive cruft we have allowed to fester over the years.

</comment><comment><USER45> I've always stayed at Airbnb's for my short term stays, simply because they were cheaper than hotels.

Hotels cost so much for a place that doesn't even have a hot plate.

</comment><comment><USER46> If Airbnb operators bid higher than long-term renters, why _shouldn 't_ they get the apartments? This animus against Airbnb seems irrational to me. Property should go to its most productive use, and the most productive use is the one for which someone is willing to pay the most money.

<comment><USER24> We have lots of policies with adverse incentives and terrible outcomes. We routinely spend more money in the US on homeless services than it would cost to provide homes for free because homeless individuals wind up a lot sicker, etc.

It's not sufficient to show that this makes more money for the owner. It doesn't exist in a vacuum. If it costs the rest of the world too much, no, it isn't the highest and best use by any stretch of the imagination.

Edit:

See for example this hospital decided to just house a few people to lower its expenses:

[https://www.wbez.org/shows/wbez-news/homeless-patients- get-n...](https://www.wbez.org/shows/wbez-news/homeless-patients-get-novel- treatment-from-chicago-hospitals-housing/45aa031f-85b0-456f-b9fb-29b17f95e3e1)

Please note that I am not actually for "housing first models" or free housing. I'm for market-based housing that makes sense. It's just a nutshell description of the problem space to note that just giving people housing can be cheaper than leaving them to fend for themselves.

<comment><USER47> So just to counteract the dead account arguing with you:

"The original study that generated so much headlines in the press said this was true for _temporarily_ homeless -- it would, in fact, be exorbitantly expensive to house _all_ homeless people."

Nonsense. Over 80% of homeless people on a given night are temporarily homeless. There's less than a hundred thousand chronic homeless in the entire country. $100 a week would be enough funding for a hotel, but let's drill in the point by doing the math for $200 a week. 90 thousand homeless * $200 * 52 / 320 million people. Final cost: $3 per capita per _year_ to house every single chronically homeless person.

And that's not even getting into the strawman they made about forcing landlords to do anything.</comment></comment></comment>


Square Keywhiz: A system for distributing and managing secrets - <AUTHOR> https://square.github.io/keywhiz/ <comment><AUTHOR> Square's Keywhiz secret management system is another dedicated service used to provide general security for sensitive data. Like Vault, Keywhiz exposes APIs that clients and users can use to store and access secrets. One unique feature that Keywhiz offers is the ability to expose secrets using a FUSE filesystem, a virtual filesystem that clients can mount to access the sensitive data as pseudo-files. This mechanism allows many different types of programs to access the data they need without the help of an agent or wrapper and it allows administrators to lock down access using normal Unix filesystem permissions.

</comment><comment><AUTHOR> Alternatives:

* Hashicorp's Vault ([https://www.vaultproject.io/](https://www.vaultproject.io/))

* Pinterest's Knox ([https://github.com/pinterest/knox](https://github.com/pinterest/knox))</comment>


Why Pharo Might be the Future of Software Development (2017) - <AUTHOR> https://blog.appacademy.io/pharo-future-software-development/ <comment><USER2> Anything by Richard Kenneth Eng isn't worth the read. Props to the guy for promoting what he loves, but he never gives any good reasons or data to back up the non-existent reasons.

His personal points of view are all you get, heavily disguised as assertions about Smalltalk and the environment being categorically better or easier than things with which nobody seems to be exhibiting any real problems. Because the assertions aren't backed up with evidence, it's hard to take seriously. Not to mention every single post on every single website just repeats the same things ad infinitum; it's basically spam at this point.

This is mirrored by some of the more rabid fans. Whenever Smalltalk is brought up on HN, there's invariably someone or other to come and espouse that live coding is better than compile-debug-rinse-repeat. Why? Because it is. In what way is it better? It just is.

I mean, why wouldn't I want to switch to developing apps in an unfamiliar way with little in the way of easy-to-understand documentation, contained within an alien user interface to my beloved macOS, limited to an unnecessarily difficult-to-use IDE, using a language that I can only use in the IDE, that can't integrate with damn near any other popular or modern tools and workflows, whose ability to target mobile (or hell, native platform-specific experiences) is either in its infancy (in 2018!) or completely non-existent, and whose proponents can't give a clear answer to what the big deal is?

Yeah, no. A million posts saying the same things won't make a damned bit of difference.

<comment><USER3> > things with which nobody seems to be exhibiting any real problems

I object to this characterization. I have real problems with these modern complex languages _all the time_. Go on StackOverflow and look at how many issues people have with any of these "modern" languages -- even just syntax.

For example, I'm using Swift right now (Apple: "Swift is easy to use", "The language for first-time coders"!), and I've got a simple data structure problem I can describe in under 10 words, and I _can_ solve it in fewer than 10 symbols in Clojure, but I've been struggling for the past 2 nights to figure out how to get the Swift compiler to accept anything at all related to my problem. I can't get the overrides and generics and type constraints to play nice with each other, even though the Swift 4 press release says it should be better now.

I'm at the point where I'm debating whether to use "Any" and cast the *#@! out of it, or switch to Objective-C.

Swift isn't even particularly unique here. Every recent language I've seen is this complex, or nearly so.

> I mean, why wouldn't I want to switch to developing apps in an unfamiliar > way with ...

This sounds almost like it could have been a description of the first Macintosh, written by a pre-GUI user. Do we hate Smalltalk just because it's different, while admitting we don't understand why?

<comment><USER2> > Do we hate Smalltalk just because it's different, while admitting we don't > understand why?

I never said I hated Smalltalk. I love the language and have played around with GNU Smalltalk a few times. Plus, I cut my programming teeth on Objective-C, so I have a firm appreciation for the language.

It's the fact that I have to enter a foreign environment that irks me. Way back in the day, when GUIs were innovative and new, and people were still working out the kicks, and input devices basically all did the same basic set of things in the same way, it mighn't have mattered.

Nowadays, operating systems have moved on, input methods have moved on, the way we do even some of the more basic things have changed. You've now got features integrated into the operating system that things like Squeak and Pharos can't access. You've got user interface metaphors that are consistent across the whole system _except_ within Squeak and Pharos. You've got (poor) attempts to integrate with the host with commercial environments such as Cincom VisualWorks that, at the end of the day, really amount to nothing more than a rootless version of Pharos with a crappy theming engine.

I know many amongst HN's userbase won't be particularly phased by a different user interface, particularly Linux users where dealing with slightly different paradigms between applications is a fact of life. For me, a macOS user, the fact that:

\- inertial scrolling doesn't work

\- my Magic Trackpad 2's multitouch gestures don't do anything

\- windows can't be managed using Mission Control (which is particularly a pain given that the major environments' IDEs don't respect system conventions around multi-document windows)

\- many keyboard shortcuts aren't properly mapped or imitate Windows rather than macOS

\- the environment doesn't let me type using macOS' Japanese keyboard, and none of the characters render properly by default without some tweaking

\- the environments use their own fonts rather than system fonts, meaning my font collection is being ignored

\- fonts are rendered non-natively, meaning they're all the wrong sizes and they're rendered differently than how I expect — particularly troublesome for CJK characters which are beautiful on macOS and hideous on everything else

\- Pharos doesn't bother to render in high DPI, so it's all blurry — absolutely hideous on a 27" iMac

\- system accessibility settings are not respected, so the fonts are all way too small for my eyes and VoiceOver can't read any of it

\- since the environment doesn't respect the system, neither it nor anything you make in it can take advantage of any system features like system-wide Services, Automator, Applescript support, fetching data during Power Nap, system-wide Dark Mode in Mojave, and so on.

See all of those things? On far too many posts, in far too many comment sections, and far too many times on HN have I seen the Smalltalk evangelists act dismissively about all of that, as though users don't really notice. Maybe Windows and Linux users, where every app you come across is either in a different toolkit or doesn't necessarily respect your chosen desktop environment's metaphors to the fullest extent, are used to that idea.

Bearing in mind that 87% of statistics are made up, I'm going to say that a good chunk of macOS' users have gone to length of buying much-more-expensive- computers-than-the-competitors running an-operating-system-with-much-less- commercial-support specifically _because_ macOS does so many things for them, so yes, the platform and user experience very much do matter. Those evangelists who say the platform doesn't matter are wrong.

I know I much prefer using Xcode over other IDEs not because I think Xcode is great (because it's meh), but because Xcode gets all of those system-level goodies for free by virtue of being a good, well-behaved macOS app. It runs the way I expect any other macOS app to run, I don't have to adapt my workflow around it, and those quality-of-life things make coding in it much more pleasurable to me than having to figure out a system I can (a) barely see, (b) barely type in, (c) barely navigate, and (d) barely use.

I may only be speaking for myself, but I'm a better coder when I don't have to fight the system.

Maybe someone just has to come up with a macOS-first Smalltalk environment, something that manages to respect the system. Make the Xcode of Smalltalk, minus the bugs, still keeping all the good stuff like live coding and what- have-you, but that make native macOS apps that do things the native way. Then maybe it could start making iOS apps. And so on.

Instead, it seems like rather than trying to make Smalltalk relevant to the world as it has become, the most ardent fans are trying to push the world back into the past — or in the case of macOS users, Linux's present.

</comment></comment></comment><comment><USER4> Maybe it's my age but I am getting increasingly tired of the same articles about Smalltalk/Squeak/Pharo being on the edge of a breakthrough. Surely Smalltalk is nice and also has its place in the history of programming languages. Today, however, there's such a vast number of interesting programming languages that are used "in production" that I doubt Smalltalk will suddenly get more traction.

What makes articles like this one really annoying are the same old claims that seem to be a bit delusional if not outright wrong, such as:

"the Pharo IDE is much simpler and cleaner than Visual Studio and Eclipse. Even children can use it without difficulty!"

The accompanying screenshot surely doesn't support that claim.

<comment><USER5> "Simpler and cleaner" _Proceeds to show a window inside a window with 7 panels filled with lists and text everywhere._

I was not sure if they were joking or if they were serious.

<comment><USER6> Maybe it's because nothing related to files is showing up. For example, Java has packages, classes, protocols (interfaces), methods, and documentation. All of these are visualized in a Java IDE. But Java _also_ has folders and files, so these need to be visualized, as well.

At least in Java there's a pretty clear mapping from packages and classes to folders and files. In PHP, the mapping is not so clear.

Edit: I'm not saying I agree with the author, I'm just pointing out one aspect.

</comment></comment></comment><comment><USER7> Kenneth Eng writes only about smalltalk... Despite promising directions like Amber ST, somehow smalltalk has failed to reach critical mass, and that's a shame. My feeling is that something about their approach promotes learning by showing rather than reading and that has limited the uptake. Most successful proponents move on... Avi Bryant and Ramon Leon and perhaps Mark Watson. I've had email exchanges with almost all these folks and overall the feeling is that it was a great environment whose time has passed. I think the Forth guy Don Hopkins is also a fan as is perhaps Joe Armstrong of Erlang fame. And of course HN loves Alan Kay.

<comment><USER8> Since you mentioned me, here is my take: I would spend more time using Pharo but it often takes to much time getting things running. It happens too often that I will see a project mentioned in Pharo News, want to try it, and then have to spend too much time getting it running.

There are advantages and disadvantages to image development and I usually don't even take advantage of image based development in SBCL Common Lisp anymore: I usually have a load file to fetch data I will need and load in my code and required libraries. In the same way, I no longer keep multiple Pharo images around.

That said, it is a large world and you don't need too many companies and individuals using a software technology to keep the ecosystem supported and moving forward.

I was also a big fan of my Xerox 1108 Lisp Machine, but that was mostly viable because Xerox had one large customer, the CIA. The CIA had a custom work environment for analysts that took advantage of the platform. In a similar way, I can see Pharo as potentially being an integration tool for knowledge workers with interfaces to external tools like MatplotLib and TensorFlow. A highly customized Pharo environment could be effective for organizations that could support a small team maintaining a custom analysis setup.

</comment></comment><comment><USER9> The article is a bit light on what's special about it.

I'm still a fan of the bold moves eve¹ did.

¹ [http://witheve.com/](http://witheve.com/)

</comment><comment><USER10> You have to admit that this headline coupled with the (2017) is pretty funny.

<comment><USER11> I hadn't noticed that. Thanks. That's made my day.

</comment></comment><comment><USER12> I remember in the 90s Smalltalk was going to be the next big thing, IBM were all set to throw their weight behind it with VisualAge as the next big enterprise development tool... Then Java happened and IBM ditched Smalltalk and leaped on that bandwagon instead and the rest is history

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

</comment><comment><USER13> If your language is tightly coupled to a specific IDE, that's cool and I might play around with it, but good luck getting me to use it in production.

<comment><USER14> Yet C# and friends managed that just fine for many years..

<comment><USER15> C# being the recommended way to build Windows apps played some part in that.

<comment><USER2> Not only that, one didn't need to use VS to code in C#. There was always csc.

</comment></comment></comment></comment><comment><USER16> Might but won't.</comment>


How do I politely decline building stuff for relatives/friends? - <AUTHOR> http://stackoverflow.com/questions/3624875/how-do-i-politely-decline-building-stuff-for-relatives-friends

<comment><USER2> Easy, say yes but that you will not have time until September next year.

It's the same as having a hairdresser, dentist or a doctor in the family. _Everybody_ wants a piece of their time at birthday parties to get a free consult, being the family geek is no different.

Only misery can come out of it because at 'free' the feature list is infinite and I don't like charging my relatives.

So I give them the address of a friend that builds websites for a living and they get a discount large enough that if it's serious they'll go for it.</comment>


Ask YC: Data structure or Algorithm selection for a problem? - <AUTHOR>

data structure or algorithm which one is more important in solving a problem<p>and how selection of both is important in solving a problem <comment><USER2> To quote Hofstadter: Mu.

Particular algorithms operate on particular data structures; a binary search on a sorted list makes sense, while a binary search on an unsorted list is meaningless. It doesn't make any sense to have one of "a good algorithm" or "a good data structure" without the other.

<comment><AUTHOR> I think this reply perfectly answers my question.

</comment></comment><comment><USER3> Good introductory text: Cormen/Leiserson/Rivest/Stein: Introduction to Algorithms (2nd edition)

[http://www.amazon.com/Introduction-Algorithms-Thomas-H- Corme...](http://www.amazon.com/Introduction-Algorithms-Thomas-H- Cormen/dp/0262032937/ref=pd_bbs_2?ie=UTF8&s=books&qid=1198139015&sr=1-2)

Good advanced text: Jon Kleinberg/Eva Tardos: Algorithm Design

[http://www.amazon.com/Algorithm-Design-Jon- Kleinberg/dp/0321...](http://www.amazon.com/Algorithm-Design-Jon- Kleinberg/dp/0321295358/ref=pd_bbs_2?ie=UTF8&s=books&qid=1198138989&sr=8-2)

</comment><comment><USER4> I suggest you read "Algorithms + Data Structures = Programs" by Niklaus Wirth. <http://tinyurl.com/yw7tgo>

</comment><comment><USER5> Mooooo..... :)

I usually visualize the data structure that exists, or that I want, and work "backwards" from there. But whichever direction you use, always always remember that the idea is to make the design simpler and more clear.

<comment><USER3> Well, no, not always, always.

Use the data structure that makes the design more efficient. Clarity might be nice, but an O(n) solution is not acceptable when a reasonable O(log n) or O(1) solution exists.

</comment></comment><comment><USER6> At all the above maniacs ... I think what yearsinrock meant was "Data Structure and Algorithm" selection for a specific problem...

<comment><USER2> That was my first thought based on the thread title, but it doesn't quite fit with the text "data structure or algorithm which one is more important in solving a problem" which follows.

</comment></comment><comment><USER7> I didnt think that choice was orthogonal?</comment>


U Suck At Coding - <AUTHOR> http://usuckatcoding.com

<comment><USER2> how do i know you don't suck at making up coding questions?

in other words, why require a sign-up instead of just posting the questions on your site?</comment>


How I use Wireshark - <AUTHOR> https://jvns.ca/blog/2018/06/19/what-i-use-wireshark-for/ <comment><USER2> One really useful tip for Wireshark that's not as obvious as it should be.

Increasingly often, what you need to debug is a TLS connection. However, that can make debugging more difficult as the contents of the connection are encrypted.

However, if you can access the server key, whether you have access to the production server, or are working in a development environment, or you MITM yourself with mitmproxy, or you're working on some product that ships the same default server keys with every install, you can load the key into Wireshark and then decrypt all of the TLS traffic.

To do so, go to Preferences > Protocols > SSL, and click "Edit" next to "RSA keys list". Then you can load private keys in, and associate them with a host and port, and when you have a TLS connection on that host and port, Wireshark will decrypt the traffic and you can see the inner protocol.

[https://wiki.wireshark.org/SSL](https://wiki.wireshark.org/SSL)

Note that this doesn't work if you use a cipher suite with forward secrecy, though it looks like there is support for that as well if you enable logging of ephemeral keys in your client or server ([https://security.stackexchange.com/questions/35639/decryptin...](https://security.stackexchange.com/questions/35639/decrypting- tls-in-wireshark-when-using-dhe-rsa-ciphersuites/42350#42350))

<comment><USER3> If you get a mitmproxy working, you probably won't need the Wireshark bits. Getting ephemeral keys out can be tricky and might not even be worth the trouble.

Sometimes I find it convenient to redirect traffic with iptables. That way, if I can classify which traffic interests me, only that traffic will pass through the proxy for inspection. A warning though, SSL specific problems tend to go away when being looked at that way :).

A third method I know people use is LD_PRELOADing a hook in the application to dump keys (search for sslkeylog.c for an example) but that's far too exciting for me to try in production. Between these three methods I tend to reach for the proxy first.

<comment><USER4> There's also a fun example of the third method at [1] which is used to decrypt and dump traffic from the official Spotify app for inspection in wireshark. This is used to reverse engineer their protocol and reimplement it in librespot (and various ports of that).

[1] [https://github.com/librespot-org/spotify- analyze/blob/master...](https://github.com/librespot-org/spotify- analyze/blob/master/dump/dump.c)

</comment></comment></comment><comment><USER5> I've used it for a few things:

* To analyze the bluetooth protocol for a smartwatch so I could reverse-engineer a phone app to talk to it

* To intercept a temperature logger's TCP comms and figure out how it talked to the vendor's (crap) server software so I could write a better server for it

* To track down a weird problem where ffmpeg won't stream from my home CCTV system (it turns out it sends a duplicate PLAY command, still haven't figured out why yet...)

* To snoop for IP addresses on my local network in order to find lost devices (eg. when someone else set a device to a static IP address which has since been lost).

It's basically a fantastic Swiss Army knife for any question that starts with "what" and ends with "on the network".

<comment><USER6> Also: USB with USBPCap.

My personal pain point is lack of localhost tracing under Windows.

<comment><USER7> Try npcap [https://nmap.org/npcap/](https://nmap.org/npcap/)

Loopback Packet Capture: Npcap is able to sniff loopback packets (transmissions between services on the same machine) by using the Windows Filtering Platform (WFP). After installation, Npcap will create an adapter named Npcap Loopback Adapter for you. If you are a Wireshark user, choose this adapter to capture, you will see all loopback traffic the same way as other non-loopback adapters

<comment><USER6> Thanks; will try.

</comment></comment></comment></comment><comment><USER8> Going to shamelessly post a Wireshark tutorial I made when I TA'd the networking class at Berkeley. I think it's a pretty good intro to the tool, and feel free to suggest others too.

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

<comment><USER9> Great tutorial. More importantly though, how did you get that desktop wallpaper?

<comment><USER8> Ha, my favorite question. The video is from [https://www.youtube.com/watch?v=skI8e5BCozE](https://www.youtube.com/watch?v=skI8e5BCozE).

You can use Dreamscene for Windows 7/8\. On Windows 10, I used VideoPaper, a free tool from [https://www.reddit.com/r/VideoPaper/](https://www.reddit.com/r/VideoPaper/). It hasn't been updated in a while, so it might not work anymore. Apparently, you can also use VLC to set a video as your desktop background.

</comment></comment></comment><comment><USER10> My favourite Wireshark link: [https://danlebrero.com/2017/04/06/documenting- your-architect...](https://danlebrero.com/2017/04/06/documenting-your- architecture-wireshark-plantuml-and-a-repl/)

Generating a sequence diagram of a running system w a bit of Clojure code and PlantUML mixed in.

<comment><USER11> that is actually really freaking cool use case! _bookmarked_ for future reference.

</comment></comment><comment><USER12> Is there a reason that it the website is recommending you install a third party repository in Debian for Wireshark? It is a native package:

[https://packages.debian.org/search?searchon=names&keywords=w...](https://packages.debian.org/search?searchon=names&keywords=wireshark)

EDIT: It appears that the website has changed, but still comments about installing from the PPA for newer packages. PPAs tend to be for Ubuntu only, and is not meant for other Debian-based distros.

<comment><USER13> Maybe to get the latest up to date version? I know Debian can lag behind having the latest packages

<comment><USER14> If you want up to date software, you should just run Debian testing (or some other distribution/OS). In Debian, testing lags a few days behind unstable to make sure that things aren't breaking and then pushes the update.

<comment><USER15> > _If you want up to date software, you should just run Debian testing (or > some other distribution /OS)._

Telling people to run a new OS in order to get an updated version of Wireshark is crazy.

If people only want a single updated package, then it is perfectly fine to include the updated PPA.

<comment><USER12> PPAs tend to be for Ubuntu only, and is not meant for other Debian-based distros. Ubuntu and other distros will be pegged to other libraries, and mixing libraries on an OS is not a good idea.

If you really want the updated package, I would recommend compiling from source.

EDIT: I should point out that have a valid point that if you want to run up to date software, Debian is probably not the Distro you want to use. Ubuntu is a Debian based Distro that tends to have more up to date software. However, I like using Debian as I rarely need the most up to date software, and I have never had an update go bad on Debian.

<comment><USER15> Good points. Thank you.

I totally get that a FrankenDebian type of system can result from mixing packages from outside of Debian with a base Debian system.

What I really wanted to convey was that saying someone should run Debian unstable or some other OS in order to update a single package is not reasonable - that it is far more reasonable for a person to take point updates using a PPA in such a case.

<comment><USER12> I agree with that point. Debian has a repository known as backports ([https://backports.debian.org/](https://backports.debian.org/)). But they note that it is not as well tested as the stable repository, and it is on an as-is basis, so not all packages are in there.

However, Debian Stable is not the distro you want to run if you want the latest packages. I think Ubuntu and Arch are two distros that do that more? I have not looked around for new distros in several years, Debian is my OS of choice.

<comment><USER15> I've used debian and arch (on different machines of course) for years. I like that debian never breaks. On the other hand, I like the rolling release model of arch. :)

<comment><USER12> I get that! I used to do the Debian testing "rolling" release and really liked it. Sometime I will try Arch.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER16> I use this to run Wireshark on local desktop with live traffic from remote server

e.g. excludes port 22/53

ssh root@host tcpdump -U -s0 'not port 22 and not port 53' -w - | wireshark -k -I -

<comment><USER17> The first time I used this command to monitor traffic remotely on a headless device it felt like magic. Incredibly useful.

You can achieve the same under Windows using putty/plink:

plink.exe -ssh -pw password root@host "tcpdump -ni eth0 -s 0 -w - not port 22" | "C:\Program Files\Wireshark\Wireshark.exe" -k -i -

Of course you need to have tcpdump as a command line executable in the host.

</comment></comment><comment><USER18> Wireshark is my favourite "I told you so" tool. You can't imagine how useful it is for network troubleshooting.

Heck, It's been many times that I've told a customer "you've got this device running this OS in your network doing DPI/ALG/etc and it's probably sitting _points at the network diagram_ exactly here, which you conveniently forgot to add to the diagram" just by looking at a network trace with Wireshark.

<comment><USER19> > You can't imagine how useful it is for network troubleshooting.

I think anyone who has ever had to troubleshoot networking issues can attest to that. I certainly can. ;-)

</comment></comment><comment><USER20> Every time someone posts about wireshark, I think it's good to post about tcpflow.

What is it? In short, it shows you the TCP packets as opposed to the raw IP packets. If you are doing protocol analysis or debugging, it's AMAZING!

[https://linux.die.net/man/1/tcpflow](https://linux.die.net/man/1/tcpflow)

</comment><comment><USER21> Thought someone might find it useful... There is a command line equivalent called tshark. It's great for simple packet processing.

I used it a lot to generate csv files with relevant packet data.

</comment><comment><USER22> Wireshark is worth a couple of hours of play. It was quite a revelation to use it on a non https connection and watch myself transmit my password letter for letter in clear text :) Yes one can imagine how that is, but still, doing it is different.

<comment><USER23> Or, similarly, I set up an HTTPS proxy on my Mac, and set Wireshark to listen. Then, had someone else log in to a different account (say, the guest account) on the machine, and asked them to log into gmail, say, as usually via HTTPS (with a fake user/pass). A warning does pop up about "insecure connection", but most people just dismiss it and go ahead and log in - and wireshark intercepts username and password.

Classic MiTM, well known, but still freaky to observe how easy it is to set up.

<comment><USER24> This wouldn't really be possible with a modern browser, luckily, since they don't let users bypass the warning for sites with HSTS.

<comment><USER14> Yeah for Gmail or some other big website. The real targets are usually the smaller corporate sites which are not in the preload list, but you wouldn't use those to demo with...

<comment><USER24> Well as long as the site has HSTS and the user had visited it at least once before the MiTM attempt.. But yeah a gazillion corporate sites won't have HSTS configured

<comment><USER25> In this case, the user runs the browser from a guest account - that the "attacker" controls. It would be prudent to start with a clean profile - so no "earlier" visits.

</comment></comment></comment></comment></comment></comment><comment><USER26> Wireshark can open streamable multimedia files too. I've used it in contexts completely outside networking to inspect a podcast file that played weirdly and an ancient MP3 mix that turned out to be two files with different sample rates concatenated together so media players didn't seek properly in it.

<comment><USER27> Wow! Can you elaborate more on the latter? How were you able to figure that out with Wireshark?

</comment></comment><comment><USER28> My greatest use thus far with Wireshark was proving that some HTTP requests one of your applications were making actually left the machine and went through our network.

Our Node Proxy was not cooperating and it helped us track down the issues. Nice tool to have in your belt.

Thanks for sharing.

<comment><USER29> Wireshark is great, I used it a while back to diagnose why a rogue DHCP server was routing DNS through Germany.

</comment></comment><comment><USER30> I have happily used Wireshark during my physics PhD to deal with poor vendor software for various equipment. Example: while Montana Instruments ([https://www.montanainstruments.com/](https://www.montanainstruments.com/)) now has a python library for interacting with their cryostats (refrigerators), they didn't always have one, and I just couldn't get their dll's to work. Instead, I sniffed the packets that were being sent back and forth between their provided GUI software and the cryostat, and got things working fairly easily in python thereafter.

Good times.

</comment><comment><USER31> I love Wireshark. It's a very useful tool for anything network related. Sometimes I like to boot it up and just look at arp requests being bounced around the network, it's hard to resist the temptation to boot up Metasploit and engage in some script kiddy fun while I'm doing it.

The one problem I have is that usually when I discover I need to use Wireshark, I'm not able to download it as I don't have an internet connection.

<comment><USER32> > _The one problem I have is that usually when I discover I need to use > Wireshark, I 'm not able to download it as I don't have an internet > connection._

Solution: carry a fresh version for all platforms on a pendrive, in your wallet.

</comment></comment><comment><USER33> Slightly off-topic: I personally know the co-creator of Wireshark, Loris Degioanni ([https://thenewstack.io/author/lorisdegioanni/](https://thenewstack.io/author/lorisdegioanni/)), a super-brilliant engineer from Italy. I am wondering why the Wikipedia article doesn't mention him. (I know his co-authorship is true).

</comment><comment><USER34> Wireshark is fantastic. It also great for listening in on USB connections. The only issue I have with it is I have to use a secondary program to capture the loopback. But rawcap is small lightweight and easy is its not a huge issue

<comment><USER35> if i recall correctly, this is a windows-only limitation. i've had no problems capturing loopback on linux. on windows, you can install npcap rather than winpcap to allow capturing on the loopback with wireshark.

</comment></comment><comment><USER36> used it after I had ssh connections from/to china.

checked to see if system cleanup and hardened firewall kicked them out. After some days with zero traffic (minus broadcast etc) declared red alert over.

</comment><comment><USER37> Great for wireless debug as well. We had an issue in the early days of WPA and Wireshark was one of the first open apps to support sniffing and decrypting WPA traffic. We also used Omnipeek, which had a better GUI and better promiscuous and monitor support but Wireshark caught up and now it's my go-to tool.

Filter syntax is a headache, though, if I remember correctly it's totally different for capture and display. I have to go to the manual every time I use wireshark.

</comment><comment><USER38> Bluetooth? Is Wireshark is useful for troubleshooting dropped connections between mouse and host controller? So far hcidump and bluetoothd debugging aren't revealing why I keep getting dropped connections, but only on Linux. I don't have the same problem with Windows 10 and the same hardware setup. But off hand it seems like Wireshark would produce a ton of really verbose data.

</comment><comment><USER39> Hansang Bae, the CTO of Riverbed (Wireshark's corporate sponsor) has a series of videos about using Wireshark. There are some great practical packet analysis tips in these.

[https://www.youtube.com/watch?v=U0QABcTD- xc&list=PLnKJHZhW_B...](https://www.youtube.com/watch?v=U0QABcTD- xc&list=PLnKJHZhW_BuCPcIg6Ja2boDeHIRwoHMT-)

</comment><comment><USER40> To follow a specific TCP connection I rather do this: 1. select message from a connection, 2. Follow -> TCP Stream.

Another thing that helps is to just write a display filter expression, like 'tcp.port eq 443 and ip.dst==220.127.116.11'

[https://wiki.wireshark.org/DisplayFilters](https://wiki.wireshark.org/DisplayFilters)

</comment><comment><USER41> I never understood how to intercept another device's TCP packets. Do you connect some sort of device in between the device and the network as a node or is the only requirement is to be connected in the same hub? Does anyone have reading material on how to do this?

<comment><USER42> Either you run wireshark directly on the endpoint, or you setup some means of tapping into the traffic.

The most common method is to use a managed switch to setup a mirror port. Basically you tell the switch to copy all traffic and send it out on an extra port and then capture traffic while connected to that port.

</comment></comment><comment><USER43> I was a network engineer for a University so.

-Used it to discover Cisco switch port number and switch names for ports

-Find rouge routers on the network people setup in their dorm rooms that would hand out their own ip address(DHCP) on our network

</comment><comment><USER44> Worth adding that Wireshark has a plugin system for adding protocols.

The fix/fast protocol plugin is something I'd have been in a lot of trouble without in my past.

<comment><USER45> And you can write dissectors in Lua. Super handy for quick/dirty jobs.

</comment></comment><comment><USER46> The UI in the Mac version has a Windows look and feel, which seems odd. I'm interested in why the developers chose this approach.

<comment><USER6> I think they just use the default GTK theme.

<comment><USER47> It's Qt now unless you're on a pretty old version.

<comment><USER6> You're right. I assumed the new look was a Gtk 2 to 3 switch, but it's been Gtk to Qt.

</comment></comment></comment></comment><comment><USER48> Important filter: !(tcp.len==0)

</comment><comment><USER19> That blog is a treasure trove! Her writing style is great, very accessible, even if you are a newbie to the subject, and her enthusiasm is infectious!</comment>


Ruining the diversity of JavaScript community with a coding style guide - <AUTHOR> https://github.com/airbnb/javascript/issues/102 <comment><USER2>
        My only fear is that people will abuse
        a single style guide to no end and code
        will become generic and timeless.

Wait, what? This is a _bad_ thing?

<comment> mikko-apo Code style shouldn't change the value of code in any way. If it does something went horribly wrong :)

For me code's value comes from what the code does and how elegant the overall implementation is. Code's value definitely doesn't come from formatting or "style".

<comment><USER3> Code is not only written and executed, it is also read and modified. Bad, broken or inconsistent style can harm readability, and thus maintainability, which detracts from the value of a codebase. It's often easy to fix compared to bad design or architecture, but it does have a cost.

<comment> mikko-apo Yes definitely, you're right. What I mean is that bad design or bad architecture can take months to fix while most editors can fix formatting automatically with a few clicks. At the same time I prefer my own projects to have very clear and consistent style.

I think the original poster (and the topic here) is using way too strong words for such an irrelevant issue. It's airbnb's project, they get have their own opinion. Their style guide won't ruin the Javascript community.

Also, the original poster seems to be on a mission of his own. He forked the project @ github, did a few modifications and changed the documentation in a way that conflicts with the original MIT license. Poisonous attacks like that are what destroy communities.

[https://github.com/JacksonGariety/javascript/commit/e06e9a46...](https://github.com/JacksonGariety/javascript/commit/e06e9a46b102a3cf83216ff9eb6bcaf76de09c72)

</comment></comment></comment></comment><comment><USER4> Reminds me of Richard P Gabriel's essay on _Habitability_ (PDF, Page 9, [http://dreamsongs.net/Files/PatternsOfSoftware.pdf](http://dreamsongs.net/Files/PatternsOfSoftware.pdf))

"Habitability is the characteristic of source code that enables programmers, coders, bug-fixers, and people coming to the code later in its life to understand its construction and intentions and to change it comfortably and confidently. Either there is more to habitability than clarity or the two characteristics are different. Let me talk a little bit more about habitability before I tackle what the difference may be.

"Habitability makes a place livable, like home. And this is what we want in software - that developers feel at home, can place their hands on any item without having to think deeply about where it is. It's something like clarity, but clarity is too hard to come by."

</comment><comment><USER5> Sigh. Not about the original article, but about the top comment in the original article.

It presumes that Picaso, Bansky, and Monet can't paint like each other.

Probably not true if you actually have Picaso, Bansky and Monet.

In any case, style guides are for hacks, not artists.

<comment><USER6> I would actually take the "blue period" example as Picaso's own styleguide. By forcing constraints on himself (like a much reduce palette), he got much more creativity out.

 _" When Picasso purged color from his work, he did so to emphasize the formal autonomy of the picture plane and focus on problems of form."_ [1]

Styleguides don't hinder creativity. They help it shine. It simply a set of constraints that help guide you through the creative process. Same as convention-over-configuration. Yes, you are forced to put certain files in a certain folders, but that just saves you time, it does nothing to stop you from being creative.

[1][http://galleristny.com/2012/10/from-brush-and-palette-to- pri...](http://galleristny.com/2012/10/from-brush-and-palette-to-printer-and- cartridge-picasso-black-and-white-at-the-guggenheim-wade-guyton-os-at-the- whitney/)

<comment><USER5> I won't argue that constraints can lead to innovation. All art exists in some medium. Constraints are therefore inherit.

Here's a simple question: what spurred Picaso's decision to paint in Blue? Was it adherence to a protocol describing blue as the answer to his expressive woes, or was it his own internal experimentation with the color blue?

Did Picaso paint in blue because he felt like Blue, or because someone said "any work 'submitted' to this gallery must be blue"?

</comment></comment></comment><comment><USER7> I am not sure if I want to be harsh and ask why would anyone object to a coding style. If you were coding for your own project, do you not have a specific preference on how the code is written? I think I do.

</comment><comment><USER8> A code base is a living document, and it changes as it grows and responds to new requirements, or is patched or refactored to fix old bugs. The git log is a history of everything that happened to that code base over its lifetime to date. If that log is full of people committing small style changes because they don't agree with the last guy's position on semi-colons or the use of array literals or how many characters to indent by, then I'd argue that it's actually a less _meaningful_ work. If you're looking for beauty, elegance and meaning in the code, you'll find it in the clear expression of intent that you get when the changes are about function rather than form. Where's the beauty in a "Fixed indenting" commit? What does it tell you other than that someone ran their editor's auto-indenting routine?

Adherence to a common style keeps such noise to a minimum, leaving you with a commit history that's full of meaningful changes rather than meaningless thrashing over whether to indent four characters or two, or whether the { goes on the same line as the if (...).

<comment><USER9> Coding styles can often be enforced through automated means before checkin. And even if they can't it is trivial to flatten commits to make style changes disappear.

The point of style guides are to leverage best practices and ensure anyone can easily read, understand and modify your code.

</comment></comment><comment><USER10> Wow, he's such a unique snowflake.

</comment><comment><USER11> Yes, a style guide "ruins" diversity. That's the whole point.

</comment><comment><USER12> By contrast, if every language had a correct style and came with a formatting tool for automated enforcement, it would free developers to focus exclusively on things that matter.

</comment><comment><USER13> Issue author here.

I've thought about this quite a bit today and decided style-guides are a necessity, and permissible as long as they are living documents.

GitHub's open-source philosophy makes this easy, so I've forked airbnb/javascript to my own variation and strongly encourage others to do the same.

JacksonGariety/javascript: [https://github.com/jacksonGariety/javascript](https://github.com/jacksonGariety/javascript)

</comment><comment><USER14> Picasso actually knew how to paint "properly" before inventing cubism. We have a weird misconception of "Genius" in our culture, where we think that "Genius" are somehow born with natural talent and skill, while in fact, a lot of them just had a lot of training which enabled them to be Geniuses.

<comment><USER3> Picasso said "Inspiration exists, but it has to find you working."

</comment></comment><comment><USER15> I don't think that using single quotes will ruin the diversity. This code style guide is all about some minor stuff, which is rather meaningless. After all this kind of things does not instant make code base good or bad.

<comment> james-skemp On the other hand, a good style guide should also include best practices (this one seems to do that for a number of items) which might not instantly make the code good, but can at least have a positive impact.

I always prefer double quotes for strings in JS though. At least for variables, not selectors; seems much more common to have a single quote within a string than a double.

</comment></comment><comment><USER16> Everyone formats their code wrong except for me.</comment>


Show HN: Turn any website into an API HackMIT 2013 - <AUTHOR> http://ec2-54-211-79-18.compute-1.amazonaws.com:8080/ Select anything on a website. If it is part of a table or a list, you get a URL which you can GET for a JSON representation of that list or table. Basically we are making an API for every website whether they like it or not. <comment><USER2> Surely you are better off doing this locally rather than sending the data to your aws server?

<comment><USER3> Source code is available.

See chrome_extension/background.js.

Change post url accordingly.

</comment></comment><comment><USER4> Nice! Just got the back end up and running on my OSX machine.pointed the chrome plugin to my localhost. works like charm.

Though this looks similar to eBay's ql.io(open source) , I feel this is much simpler.

</comment><comment><USER5> Tried to run your extension, but kept getting error. Really neat idea, a beginning of something big. [http://imgur.com/slvRZOT](http://imgur.com/slvRZOT)

</comment><comment><USER6> This is cool, Import.io started doing a similar thing too a few years ago: [http://import.io/](http://import.io/).

</comment><comment><USER7> So, what's the advantage over YQL? [http://developer.yahoo.com/yql/](http://developer.yahoo.com/yql/)

<comment><USER8> it looks like yql is only for some sites and you need the sites api key, and this is any site "whether they like it or not" and it takes 2 clicks.

cool project thought about doing this myself, gl!.

<comment><USER7> No, you can use YQL for any site that you want and even combine multiple queries into a single one. I don't see any reasons why this project needs to exist…

</comment></comment></comment><comment><USER9> "whether they like it or not"

Basically they admit that this is a scraping tool for doing things you shouldn't.

Companies that want to sell you data do. Companies that provide data for free to use how you like do. This is basically automating stealing.

I have really low moral standards but I can see the wrongness of this.

<comment><USER10> _I haven 't read the page, but from the title, I assume it's a scraper_

Sure, it can be used for copying data without permission. But not all data is hard to read because they don't want you to copy it. For example, I've built a scraper for a state-run website of company registrations. The data is public, just not in a machine readable format.

</comment></comment><comment><USER11> This is awesome.

</comment><comment><USER12> What was it like? I saw on the HackMIT website that firearms and weapons weren't allowed.</comment>


Writing a simple deploy script with Fabric and roles - <AUTHOR> https://ratchet.io/blog/post/2012/08/16/writing-a-simple-deploy-script-with-fabric-and-roles/

<comment><USER2> Does anyone know what theme those gists are using? It's quite nice.

<comment><USER3> Looks to be the dark solarized theme: <http://ethanschoonover.com/solarized>

</comment></comment><comment><USER4> Nicely done.

The 'with cd' in Fabric struck me as cool when I first saw it - subshells in Capistrano threw me at first.

</comment><comment><USER5> very cool. being monolingual definitely has its advantages. can't wait to try ratchet.io out

</comment><comment><USER6> Fabric is amazing.

</comment><comment><USER7> this is awesome.</comment>


A telling story of Sealand, Havenco, and wikileaks. - <AUTHOR> http://arstechnica.com/tech-policy/news/2012/03/sealand-and-havenco.ars

<comment><USER2> This is probably the most accurate account of the whole Sealand/HavenCo thing anywhere (there are a few minor details which are missing, but it's basically as accurate as one could hope to be).

It's also not quite as good as the same author's 80 page law review article (linked from it) -- which is IMO utterly amazing, and has lots of legal insights we never considered at the time.

"Code not laws" has been around a long time, and in 2012, I'd have to add "code not concrete", too.

<comment><AUTHOR> Yeah it's a good read. Surprised it's not gaining more than a handful of up votes. It's made the home page of the verge and slashdot. Did I choose a poor title? Post at the wrong time? Oh well...

<comment><USER2> It was 10-12 years ago, and isn't really development related vs. a cautionary tale.

I will submit the 80 page version and see how people feel.</comment></comment></comment>


Easy 6502 - <AUTHOR> http://skilldrick.github.com/easy6502/ <comment><USER2> I ported Serpentine for Broderbund to the C64 and a few other games for other publishers. After I changed to being a Producer, I thought I would ever program in 6502 again.

Then years later, I was given the task to program toys, all in 6502. I did a Little People Farm, Little People Phone, a musical jumprope and a reading of Goldielocks and the three bears.

I think the 6502 will never die.

<comment><USER3> This is such a silly question, but are you the one that made the barn door on the farm moo when it opened?

<comment><USER2> lol probably! Does it not work right?

<comment><USER3> No way - just the opposite! In fact I think it worked the last time I ever saw it years later. That was an incredibly memorable piece of my childhood, and apparently that of many others' as well: <http://dribbble.com/shots/680831-Fisher-Price-WIP-2> (wherein I also mention that feature).

<comment><USER2> I'm proud of the phone too. It taught kids their own home phone number in a really cool way. I didn't design the features, I just programmed them. I wonder how many kids called home because they learned their number from this toy.

</comment></comment></comment></comment></comment><comment><USER4> What a luxury an assembler was compared to writing programs directly in hex where LDA # was $A9 nn, JMP was $4C aa aa, and RTS was $60 for example. Your brain would just about as quickly speak hex, though calculating relative branches (limited to a 256 byte range) was a "two pass" mental operation. I still have the green Rodnay Zaks book.

<comment><USER5> The funny thing is that an assembler that calculates relative branches for you is a pretty simple program. Why did people spend so much time without writing one?

<comment><USER4> I can't speak for everyone but having 1K of total RAM and no cross assembler from which to write that first native assembler were enough to stop me from attempting it :)

<comment><USER5> Yeah, the RAM limitation in particular requires a lot of creativity; this version would use the entire 1K for its label table: [http://lists.canonical.org/pipermail/kragen- discuss/2012-May...](http://lists.canonical.org/pipermail/kragen- discuss/2012-May/001234.html)

Did you have any external media available, or just the RAM?

<comment><USER4> Unfortunately just RAM, lots of time and the mind of a 12 y/o!

<comment><USER5> Probably about the best you could do then would be to interactively assemble code (probably without mnemonics!) and output the assembled version. You could probably do a reasonable interactive assembler without mnemonics in 256 bytes; not sure about base64 input and output (four letters/numbers per 3 bytes of code!), or error correction.

Did the machine not even have a memory of what was on the screen? Because that's usually at least 2K, and that would go a long way.

</comment></comment></comment></comment></comment></comment><comment><USER6> This bring back childhood memories. I remember creating an interrupt subroutine in assembly on my commodore 64 that listened to the push button on the joystick and quickly changed the background colors on the screen. If I pressed the button it looked like the monitor flickered. Played lot's of pranks with my friends with that hack.

<comment><USER7> I'm right there with you. I recall there was a Horizontal and Vertical refresh interrupt, and you could catch that horizontal refresh (when the scan line was returning from the right side to the left side) and switch video modes from graphics into text cleanly, then, on the vertical refresh, when the scan line returned to the upper left hand corner, switch back to graphics mode. Allowed you to (easily) display images and text on the screen at the same time (graphics on top part of screen, text below whatever horizontal line you decided to switch back to text)

<comment><USER8> It was a single interrupt, but you could trigger it on a specific scan line by storing the number of the scan line in $D012. So to do stuff during the vertical blank you'd just need to set $D012 to a large enough value.

It was/is the bread and butter of the C64 demo scene.

</comment></comment></comment><comment><USER9> "I don't think you'll ever have to write assembly language in your day job"

Not completely true. My company for example develops embedded systems for trains.

These systems can have a lifespan of decades, where they see daily use, and there's no reason for the customers to upgrade, but they might ask a change or some new functionality over the existing system.

Not me personally but I know of a few engineers that every now and then have to roll up their sleeves and write assembly. I would be surprised if this is not somewhat common, for companies mantaining long term systems.

Nice article BTW.

<comment><USER10> Assembly is still the best way to leverage small microcontrollers and they're big business (AVR, Microchip). And a lot of fun BTW.

</comment></comment><comment><USER11> Which reminds me of Notchs upcoming(?) game with the DCPU-16. <http://dcpu.com/dcpu-16/> <http://0x10co.de/> Assembler know-how might be in demand soon.

</comment><comment><USER12> Previous discussion: <http://news.ycombinator.com/item?id=4213806>

<comment><AUTHOR> Good catch and well worth reading. I thought there was something familiar about the link but oddly HN didn't refer me back to the earlier thread.

<comment><USER13> HN will never refer you to an earlier thread unless the URL matches exactly. See the '/index.html' suffix on the original and the lack thereof on this one, that's the difference that allowed you to submit the URL for a second time.

<comment><USER14> It is awesome though, I enjoyed it the first time, and apparently no one saw it because it is now at the top of HN.

<comment><USER13> Yes, it is awesome. When I learned how to program 6502 asm the best you could do was to buy Lance Leventhal's book and cobble together your own assembler, now you can learn the same thing interactively in a browser. 30 years difference.

<comment><USER15> Machine code monitor on the Apple ][+...had to calculate jump offsets in my head.

<comment><USER14> On the C64 I had the monitor cartridge. Always great when you had to block move memory to add an instruction in the middle. Converting things to data statements was also fun.

<comment><USER15> Did some of that, had to throw in delay loops so the sprites wouldn't tear when moving in response to the joystick.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER16> Oh that takes me back! I remember peeking & poking for hours to various memory locations on my old 64 just to see what would happen.

Later I wrote a good bit of assembly for demo programs (which frankly sucked). I particularly loved the SID chip (<http://en.wikipedia.org/wiki/MOS_Technology_SID>).

Anybody remember Impossible Misson? I'm still fond of uttering "Destroy Him, My Robots". I don't think anybody gets the reference anymore though. <https://www.youtube.com/watch?v=ginShVeGpGY>

<comment><USER15> I remember peeking and poking a PET (or was it a CBM?) we had in the copier room at school until it would make a horrible whining sound requiring turning off the machine. Learned much later that some of the video registers could be poked with values that might damage the hardware :-)

</comment></comment><comment><USER17> I'll second the childhood memories comment. I also remember pouring over Z80 machine code and does anyone remember typing in individual numbers on a 1K ZX81 to run a blocky space invaders program (circa 1979)??

<comment><USER18> I remember forking an open source game library around 1985. Well, typing the source code in from the magazine so I could make my own game with sprites. I don't think I made it because of those awful rubber keys and it was not my computer anyway. The owner claimed he knew a guy who could replace the weird rubber keys with some plastic Commodore keyboard (though that would make typing BASIC code challenging -- the Spectrum keyboard had some strange mode where you could type just a single key to insert DIM or LIST).

<comment><USER19> Worse, it required that mode. It was memory-saving by using single character codes for the commands rather than 3 bytes for DIM or 4 bytes to store LIST as ASCII.

</comment></comment></comment><comment><USER20> Back in the early 80's. I saw a commodore 64 ROM with a cool looking spaceship on the packaging. It read: 'Make your games run faster'. I got my father to buy it for me. It was a 6510 assembly language monitor. This is how I jumped from Basic to assembly. It was a brutal learning curve. There was no Internet, as far as I was concerned back then.

There was a magazine called 'The Transactor':

[http://www.scribd.com/collections/2988621/The-Transactor- Com...](http://www.scribd.com/collections/2988621/The-Transactor-Commodore- Computer-Magazine)

The experience, definitely gave me a leg up later on, as an EE student, where I got to learn x86 ASM as well. The symbolic assemblers were much nicer. Most people would start out with templates where all the various memory segments were already setup. What was crazy was that after a awhile, you got to a point where you could recognize the instructions from looking at the HEX.

<comment><USER21> The original source of those PDFs is [http://archive.org/search.php?query=collection%3Atransactor-...](http://archive.org/search.php?query=collection%3Atransactor- magazines&sort=-publicdate)

</comment></comment><comment><USER22> Reading all the positive recollections of the 6502 (esp. from people who've programmed other controllers) makes me feel nostalgic. It brings back happy memories of programming (with a paper and pencil -- I had no concept of an editor, or even assembly language) my C=64 -- I had a book of opcodes, and would scan up and down the list to find what I thought I wanted, then write it all out in a notebook. Then I would collect this code, and POKE it into place in the C=64 memory, and voila! Magic! The C=64 was so malleable. I would "hack the kernel"("OS Wedge" is what I knew it as) by resetting an interrupt vector for some function (ie: keyboard interrupt) to the address of my new code, and at the end of my code, call to the ROM for the original code. This way, I could get the screen to change colours every time I pressed a key.

It was one of my first introductions to computing, and probably exactly what I needed.

</comment><comment><USER23> I actually find both 6502/6510 and x86 assembly languages fun.

</comment><comment><USER24> I remember moving from 6502 to mips. Had to build a calculator for compsci. I rewrote the multiply instruction, didnt even consider it would be there in mips. 6502 was my first assembly, and i hold it dear to my heart :)

<comment><USER25> Aw MIPS, the first ASM that I ever encountered at my technical institiute. A trip down memory lane on a Thursday, well thank you very much! :)

</comment></comment><comment><USER26> I never coded in assembly apart from the basic hello worlds and such, but this is awesome.

I actually wouldn't mind learning assembly as a pet language :D

<comment><USER27> I recently stepped through "Programming from the Ground Up", and found it very educational. It's aimed at the x86 processor on Linux, so it's still quite relevant.

Worth going through, if you have the time.

<http://programminggroundup.blogspot.com/>

<comment><USER26> Nice link, thanks :)

</comment></comment></comment><comment><USER28> What was everyone's favorite 6502 book from back then? Please list yours. I see Rodnay Zaks and Leventhal mentioned by other commenters.

What was yours?

<comment><USER29> I uniformly found anything but the manufacturer's references to be verbose and slow. I learned Z-80 assembly from Zilog's instruction set reference, and 6502 assembly from the Synertek reference. Ditto the 68000.

I never really learned x86 assembly because I started with some awful Scelbi book.

BTW, I used assembly in a real-world project about two years ago, and one of my cow-orkers was using it yesterday. It's anything but dead.

</comment></comment><comment><USER30> Is anyone still producing 6502 processors today? Is there any price advantage to using such an venerable and well-known design today?

<comment><USER31> Yes, Western Design Center is selling the 65C02 in the classic 40-pin DIP package for about $5 a pop.

The last time I checked, which admittedly was almost 10 years ago, microcontrollers with embedded 6502 cores were quite popular with chinese toy manufacturers.

<comment><USER30> You reminded me of the Playpower Foundation that is designing a $10 6502-based "TV-computer" for distributing educational games to developing countries. This is cool, but I can't help but think that Moore's Law will deliver a cheap Android device.

Is there an Android device cheaper than the Raspberry Pi?

<http://playpower.org/>

</comment></comment></comment><comment><USER32> I used to have an "IDE" called "Develop 64" that had a 6502 assembler and disassembler (6510 actually). Anybody else remember that? It was pretty good for its time.

I have fond memories of capturing an interrupt and displaying the time in the upper left corner of the screen without blocking the command line. Good times!

<comment><USER8> There's no difference in the instruction set between 6502 and 6510 (at least not in the documented opcodes) - the 6510 is a 6502 with up to 8 GPIO pins and a tristate address bus. On the C64 the IO pins were used for bank switching the ROM and underlying RAM, and for controlling the tape port.

(fun and useless trivia about the tape port: you could use your C64 as a very primitive 1-bit sampler by recording the tape input, and play it back by toggling the input to max and down again on every "1"; with some basic run- length encoding you could get a reasonable length sample in memory and still be able to record at a tolerable sample rate to get recognizable output)

</comment></comment><comment><USER33> OT: That's a beautiful github project page. I wasn't even aware that GitHub Pages existed...

</comment><comment><USER34> Well, there goes my weekend.

</comment><comment><USER35> The page looks very bad (read: is almost unreadable) on non Macs :(

<comment><USER36> I'm not sure I understand what looks poorly. It looks fine with Firefox on Ubuntu. I like the way it looks.</comment></comment>