How Philadelphia Fixed Parking Craters Using Tax Policy – Streetsblog USA
When land is taxed more relative to buildings, that encourages property owners to develop, rather than retain low-value uses like parking lots.
Parking  Housing  Taxes  Zoning  Philadelphia  urban_development  urbanplanning 
4 days ago
Nowhere to grow but up? Ann Arbor grapples with solutions to its high-rise problem
I call the anti-development crowd anti- because I’ve never seen them be for anything or take any proactive steps to encourage whatever development they’d like. They just say “no” to everything.
annarbor  density  housing  affordability 
4 days ago
Widespread impact caused by Level 3 BGP route leak | Dyn Blog
It is important to keep in mind that the internet is still a best-effort endeavor, held together by a community of technicians in constant coordination.
bgp  routing  internet  level3 
5 days ago
Have you tried rebooting? - BrettTerpstra.com
Last week I started having issues on High Sierra that I couldn’t resolve. Hours spent in Activity Monitor, Console, and surfing StackExchange sites led me to no further clues. The primary issue was increasingly frequent hang times, which led to horrible Skype calls, long waits in photo editing apps, and a general inability to use my MacBook Pro.

For interested nerds, the problem included almost every app recording a spindump daily by the end. Spotlight results were missing more and more often, and the mds process was working overtime and not getting anywhere. Then a ton of mdworker(28822) deny(1) system-fsctl 4a0e type messages in Console.

I cleaned up the drive, repaired the disk, cleared the caches, killed background processes, and yes, I tried rebooting. The problem persisted even when logging into a guest account. I found the solution (though not a solid explanation) in an old forum thread about a similar issue back on 10.8: Reboot into Safe Mode and then reboot normally. It’s been fine for a week now.
osx  troubleshooting 
10 days ago
ROCA: Vulnerable RSA generation (CVE-2017-15361) [CRoCS wiki]
A newly discovered vulnerability in generation of RSA keys used by a software library adopted in cryptographic smartcards, security tokens and other secure hardware chips manufactured by Infineon Technologies AG allows for a practical factorization attack, in which the attacker computes the private part of an RSA key. The attack is feasible for commonly used key lengths, including 1024 and 2048 bits, and affects chips manufactured as early as 2012, that are now commonplace. Assess your keys now with the provided offline and online detection tools and contact your vendor if you are affected. Major vendors including Microsoft, Google, HP, Lenovo, Fujitsu already released the software updates and guidelines for a mitigation. Full details including the factorization method will be released in 2 weeks at the ACM CCS conference as 'The Return of Coppersmith's Attack: Practical Factorization of Widely Used RSA Moduli' (ROCA) research paper.
Infineon  ROCA  factoring  rsa  cryptography 
10 days ago
The housing crisis has left very low-income renters with virtually no affordable apartments on the market.
But something else happened to those (VLI) apartments: They became the homes of people with low incomes, who couldn’t afford low-income apartments that had been taken by people with middle incomes. And so on. It’s a kind of cascading national process of gentrification. Low-income apartments are desperately needed, but if you don’t build market-rate apartments for middle-income residents, it’s still those at the bottom who get hurt.
housing  rent  affordability  gentrification 
17 days ago
Yes, You Can Build Your Way to Affordable Housing | Sightline Institute
But what if you can build your way to affordable housing? What if, in fact, building is the only path to affordable housing? What if cities around the world have been building their way to affordability for decades?

You can. It is. And they have.
housing  affordability  urban_development  zoning  urbanplanning 
19 days ago
Signs of the times | City Observatory
Ultimately, we think this flowering of “for rent” signs disproves two of the most durable myths about the housing markets.

The first myth is that you can’t make housing affordable by building more of it, particularly if new units are more expensive than existing ones. The surge in vacancies in existing apartments is an indication of the interconnectedness of apartment supply, and an illustration of how construction of new high end, market-rate units lessens the price pressure on the existing housing stock. When you don’t build lots of new apartments, the people who would otherwise rent them bid up the price of existing apartments. The reverse is also true: every household that moves into a new apartment is one fewer household competing for the stock of existing apartments. This is why, as we’ve argued, building more “luxury” apartments helps with affordability. As our colleagues at the Sightline Institute recently observed, you can build your way to affordable housing. In fact, building more supply is the only effective way to reduce the pressure that is driving up rents.

The second myth is that high rents are somehow the product of an epidemic of greed on the part of landlords. There’s no evidence in Portland that landlords have suddenly had a change of heart, renounced avarice and decided to stop raising rents. Landlords find it difficult to get new tenants if they’re charging higher rents than the apartment down the street. With so may “for rent” signs, landlords who want to hike the rent are going to have to wait a long time to find tenants. As our colleague Daniel Kay Hertz observed, the reason that housing is more affordable in Phoenix than San Francisco is not because Arizona landlords are somehow uniformly kindlier and more generous, but because the supply of housing is so much more elastic. The most effective check on “greedy landlords” is lots of competition, in the form of more supply.

We’ll watch the situation closely in the next few months, but all the signs point to an improvement in Portland’s housing affordability.
portland  housing  affordability  rent  urban_development 
23 days ago
The Problem with Setbacks — Strong Towns
Modern zoning codes often require buildings to be setback from the property boundaries, and this is harmful to our cities because it rewards land consolidation (creating a coarser-grained development pattern) and encourages the creation of non-places to fill the setback with. The smaller your lots are, the greater the percentage of land that must be reserved for the setback.
zoning  urban_development  planning  setbacks  design 
23 days ago
Michigan gerrymandering petition on pace for ballot. Will state justices stop it? | Bridge Magazine
LaBrant said he believes the proposal could be struck down by courts on the basis that it “isn’t a change in the (state) Constitution,” but a “general revision of the Constitution that would require a Constitutional Convention.” In essence, a ballot proposal can only tweak a specific section of the Constitution, not make wholesale changes over broad areas.

LaBrant pointed to a successful court effort he led to strike down the “Reform Michigan Government Now” ballot proposal in 2008, a proposal that would have radically reformed state government in areas ranging from trimming the number of Supreme Court justices to redistricting. That proposal enjoyed 70 percent support among the public, but was struck down in court based on the same constitutional argument LaBrant is proposing with the current petition drive to change how legislative districts are drawn. LaBrant called defeat of Reform Michigan Government Now “the most satisfying victory of my career.”
michigan  gerrymandering  redistricting  politics 
4 weeks ago
Many Types Make Light Work - Rob Rix on Vimeo
Subclassing conflates (complects?) implementation reuse with interface reuse.

Instead, reuse interfaces via protocols. Reuse implementations via composition and factoring.
refactoring  inheritance  subclassing  designpatterns  bestpractices  protocols  software_architecture  is:video 
5 weeks ago
Everyone is an API designer - John Sundell on Vimeo
3 properties that are helpful when building a good API:

• Contained. (Don’t expose implementation details. Other objects shouldn't be able to meddle directly with internal state, potentially violating invariants. Use facade/protocols instead of injecting eg. a Core Data context directly.) This reduces bugs, makes it easier to swap dependencies, and improves testability.
• Conversational. (Balance verbosity with information in names. Make intent clear. Eliminate cruft. Make APIs easier to read & harder to misunderstand.)
• Scalable. (Provide hooks for customizing behavior; overrides; etc. Use default implementations in protocol extensions, parts of which can be overridden by implementors. Use default arguments. API should be easy to start using, but also flexible. Move overrides from callsite to type definitions.)

Examples were fairly typical iOS, but apply equally elsewhere.
api  design  software_architecture  is:video  bestpractices 
6 weeks ago
Modern JavaScript Cheatsheet | Modern JS Cheatsheet
Nice cheat sheet/reference on modern (ES6/ES7) JavaScript.
javascript  es6 
6 weeks ago
Swift.org - Dictionary and Set Improvements in Swift 4.0
In the latest release of Swift, dictionaries and sets gain a number of new methods and initializers that make common tasks easier than ever. Operations like grouping, filtering, and transforming values can now be performed in a single step, letting you write more expressive and efficient code.
swiftlang  collections  swift4  dictionary  set 
6 weeks ago
A Simple Approach to Thread-Safe Networking in iOS Apps
This means that for any unique instance of URLSession, you can trust that completion handlers will never execute in parallel, as long as you haven’t passed in a custom, concurrent OperationQueue. Importantly, this also includes the commonly used URLSession.shared!
nsurlsession  concurrency  NSOperationQueue 
6 weeks ago
leesoh/yams: A collection of Ansible roles for automating infosec builds.
Welcome to Yet Another Modular Security Framework. YAMS is a collection of Ansible roles, some hacky scripts, and a large amount of standing on the shoulders of giants.
ansible  is:repo  security  sysadmin  security-automation  pentesting 
7 weeks ago
perusio/nginx_ensite: A script to enable or disable a site in nginx.
This is a shell (Bash) script that replicates for nginx the Debian a2ensite and a2dissite for enabling and disabling sites as virtual hosts in Apache 2.2/2.4.
nginx  sysadmin  tool  is:repo 
7 weeks ago
John Regehr on Twitter: "@fugueish @jfbastien C is awesome because it defers problems to runtime, at which point people might not be able to find me"
C is awesome because it defers problems to runtime, at which point people might not be able to find me

this is one of my very favorite tweets

also, david: https://twitter.com/davidcadrian/status/885598486334459904
c  humor  is:tweet  runtime  NOT_HUMOR 
7 weeks ago
mikeash.com: Friday Q&A 2017-09-22: Swift 4 Weak References
Weak references are an important language feature. Swift's original implementation was wonderfully clever and had some nice properties, but also had some problems. By adding an optional side table, Swift's engineers were able to solve those problems while keeping the nice, clever properties of the original. The side table implementation also opens up a lot of possibilities for great new features in the future.
swiftlang  weak  referencecounting  memorymanagement  optimization 
7 weeks ago
Creating custom collections in Swift — Swift by Sundell
Using custom collections can be a really powerful tool to handle groups of values in a more predictable and easy-to-use way. While it probably shouldn't always be your go-to solution as soon as you're dealing with multiple values, in the right situations it can really help you write cleaner code.

Understanding how things like collections work under the hood can also be really helpful when debugging, or to give you insight as to how code dealing with collections can be optimized. And what better way to learn more about collections than building your own? 😄
swiftlang  collections 
8 weeks ago
AudioKit/AudioKit: Swift audio synthesis, processing, & analysis platform for iOS, macOS and tvOS
AudioKit is an audio synthesis, processing, and analysis platform for iOS, macOS, and tvOS.
ios  osx  audio  lang:swift  is:repo 
8 weeks ago
Sash Zats on Twitter: "[1/4] When performing intensive animations or other auxiliary work consider creating a helper checking following (in no particular order):"
When performing intensive animations or other auxiliary work consider creating a helper checking following (in no particular order):

• NSProcessInfo thermalState - is device already working hard
• NSProcessInfo isLowPowerModeEnabled - is user trying to safe battery
• UIAccessibilityIsReduceMotionEnabled - is user sensitive to motion
• UIDevice batteryState & batteryLevel - to know when device is not charging and low on battery
ios  animation  bestpractices  uikit  is:tweet 
8 weeks ago
Swift.org - Swift Local Refactoring
Walkthrough of how local refactorings are implemented for Swift in Xcode 9.
xcode  xcode9  refactoring  swiftlang 
8 weeks ago
Go concurrency considered harmful – Sargun Dhillon – Medium
Go is a super neat language that seems to have found an ever-growing number of programmers adopting it. Its approachable type system, and concurrency semantics make it perfect to be immediately productive. Unfortunately, as the language, and its usage has evolved, these semantics have fallen short for real world scenarios.

In my perfect world, we would adopt Erlang/OTP. Unfortunately, pragmatism suggests that this future is unlikely. Instead, as we develop Go 2.0, we should try to take lessons from languages that came before it. I intend to write two additional articles on what we can learn from Erlang’s error handling semantics, operability, and type system. If there is enough interest, I’ll turn them into experience reports.

Sharing by communicating is an awesome idea. I would dare to say that it’s the right approach, but it’s hard to do without help.The things that would have helped me here, would be a type system that prevents mutable types from being passed as a value over the channel, and ensuring that my code is concurrency, and type safe. Another nicety would be goroutine IDs, and termination (preemption) semantics. This way, a parent process could preempt a set of goroutines, rather than having to come up with hacky synchronization points.
golang  erlang  concurrency  synchronization 
9 weeks ago
golang-standards/project-layout: Standard Go Project Layout
This is a basic layout for Go application projects. It represents the most common directory structure with a number of small enhancements along with several supporting directories common to any real world application.
is:repo  golang  project_layout  organization  packaging  lang:go 
9 weeks ago
How to Write Go Code - The Go Programming Language
This document demonstrates the development of a simple Go package and introduces the go tool, the standard way to fetch, build, and install Go packages and commands.
golang  project_layout  organization  packaging  workspace  testing 
9 weeks ago
Go Project Layout – golang-learn – Medium
A good introduction to structuring a Go project.
Is there a standard way to organize your code? What if you need to have multiple application binaries? What does it mean to be ‘go gettable’?
golang  project_layout  organization  packaging  bestpractices 
9 weeks ago
With network crackdown, China seeks to fortify Great Firewall- Nikkei Asian Review
BEIJING -- China is taking great pains to enforce a ban on virtual private networks, which let citizens skirt restrictions on internet activity, and the crackdown represents the latest step in the country's yearslong quest to silence online dissent.
china  gfw  censorship  vpn 
9 weeks ago
Concurrency in Erlang & Scala: The Actor Model
Nice walkthrough of considerations in Erlang's and Scala's actor implementations.
This article described the actor model for the implementation of concurrency in applications, as an alternative to threading and locking. It highlighted Erlang and Scala, two languages with an implementation of the actor model and showed how these languages implement this model.

Erlang is a pure functional language, providing little more than the basic features of functional languages. This should certainly not be seen as a weakness though: this simplicity allows it to optimize specifically for the cases for which it was defined as well as implement more advanced features like hot-swapping of code.

Scala on the other hand uses a mix of object-oriented and functional styles. This makes it easier for a programmer to write code, especially given the extra constructs offered by Scala, but this flexibility comes with a warning: discipline should be used to avoid inconsistencies.

The differences between these languages should be seen and evaluated in their design context. Both however provide an easy to use implementation of the actor model, which greatly facilitates the implementation of concurrency in applications.
erlang  scala  concurrency  async  message_passing  actor_model  oop  safety 
9 weeks ago
Fault Tolerance doesn't come out of the box | Erlang Solution blog
One of the biggest selling points of Elixir is the means it gives you to write fault tolerant applications via its concurrency model. Processes can broadcast their failure to dependant processes which can take appropriate action. You decide how processes should respond to failure based on your use case. There is no single solution.
concurrency  faulttolerance  erlang  supervisors  actor_model 
9 weeks ago
Who Supervises The Supervisors? | Learn You Some Erlang for Great Good!
The OTP supervisors, fortunately, provide the flexibility to handle such cases (and more). They let you define how many times a worker should be restarted in a given period of time before giving up. They let you have more than one worker per supervisor and even let you pick between a few patterns to determine how they should depend on each other in case of a failure.
concurrency  faulttolerance  erlang  supervisors  actor_model 
9 weeks ago
Errors and Processes | Learn You Some Erlang for Great Good!
A link is a specific kind of relationship that can be created between two processes. When that relationship is set up and one of the processes dies from an unexpected throw, error or exit (see Errors and Exceptions), the other linked process also dies.

This is a useful concept from the perspective of failing as soon as possible to stop errors: if the process that has an error crashes but those that depend on it don't, then all these depending processes now have to deal with a dependency disappearing. Letting them die and then restarting the whole group is usually an acceptable alternative. Links let us do exactly this.
faulttolerance  errors  erlang  concurrency  actor_model 
9 weeks ago
Four years later, the Ann Arbor Chronicle is still weird and wonky — and it’s growing » Nieman Journalism Lab
From 2012:
For four years, Mary Morgan and Dave Askins have been the change David Simon was waiting for.

The married couple’s website, the Ann Arbor Chronicle, doesn’t just cover the planning commission, as the Wire creator once suggested bloggers never would; it covers the taxicab board. It doesn’t just publish local election results; it publishes fact-checked 13,482-word summaries of the fifth-ward city council candidate forum, 10 days after the event took place. Morgan, Askins, and seven paid freelancers contribute. On a busy day, the Chronicle posts three stories; on a slow day, it posts nothing.
annarbor  journalism  newspapers  a2council  a2chronicle 
9 weeks ago
« earlier      
373proj a2council accessibility algorithms america android animation annarbor api apple applewatch appstore arc art associated_types async autolayout aviation bash bestpractices business c c++ charting ci clang cli clips clojure cocoa cocoa_touch cocoapods coffee color complexity concurrency coreanimation coredata corefoundation couchdb cryptography cs css culture cycling d3 data debugging dependency-injection design designpatterns detroit development diversity diy dmx512 documentation education elecdiy election2016 electronics embedded encryption engineering enum error_handling extensions facebook filetype:pdf finance flying foia font friends functionalprogramming game gcd generics gif git github golang graphics health housing html html5 http humor icons inspiration internet interop ios ios10 ios7 ios8 ios9 is:gist is:repo is:tweet is:video java javascript journalism jquery json keyboard keychain kvo lang:swift layout life lighting linux management markdown matlab media:document memorymanagement michigan mocking music mvvm networking newspapers nginx notifications nsa nsurlsession nyc nytimes nytnow objective-c oop option_type osx parser performance photog photography php politics privacy productivity programming protocol_extensions protocols python quote radio reactivecocoa reactiveprogramming reactjs reactnative refactoring reference resources rest ruby rust_lang rx rxjava safety scala search security shop simplicity society software software_architecture solid srp ssl startups stm8 strings swiftlang sysadmin tdd testing tls tool tools travel trump turbojet tutorial twitter type_members types ui uicollectionview uiimage uikit uitableview uiviewcontroller umich unicode unix ux via:andrewsardone via:androidweekly via:cdzombak via:iosdevweekly via:mattb visualization watchkit water weather web_dev windows wordpress work xcode xctest

Copy this bookmark: