Porting 4.5K lines of C to Go - <AUTHOR> https://blog.kowalczyk.info/article/wN9R/experience-porting-4.5k-loc-of-c-to-go-facebooks-css-flexbox-implementation-yoga.html <comment><USER3> > As far as I can tell you can't step through tests in the debugger

Rant time. What to do when you write a test framework.

1\. When test fails, print everything possible: desired expression, desired value, actual exression, actual value, line and file of failing call. When printing line and file, make the format configurable, with the default being the prevailing standard for the system, so that people can get clickable links in their text editor or terminal with a minimum of hassle.

About 90% of the time, this will give people everything they need in order to at least get started on fixing the failed test

2\. Don't make it hard to use the debugger. The remaining 10% of the time, people will need to step through the code. Some measurable fraction of the other 90%, they'll also end up needing to do this, because it looked like it was something simple but actually it was more than that. So don't make this hard

3\. See steps 1 and 2

This might sound obvious, but it clearly isn't, because I've used several test frameworks that make running in the debugger rocket science, and print literally nothing but your own message (if even that) when the test fails. Like, you do 'assert.equals(x,y)', and it doesn't even show you what the values of x and y are, let alone figure out that maybe "x!=y" would be an obvious thing to print.

This may not sound like a big deal with my stupid little example, but after you've written several tens of these you will start to see my point.

<comment><USER4> Slightly related:

The lack of an easy to use debugger is a huge issue for me when working with go.

Coming from PHP, I spend 90% of my time in the debugger running my code line by lines (with xdebug coupled to phpstorm).

A debugger is _especially_ useful when working with other's people code and large softwares. For example, contributing to large Go projects like Kubernetes can be daunting due to the very steep learning curve. This curve would be greatly reduced if we had a good reliable go debugger, which doesn't seem to be the case at the moment. (I'm aware of delve, but last time I looked, it was still fairly complicated to have it work).

<comment><USER5> How is the debug experience in elixir compared to go ?

<comment><USER6> I have to admit, although I use domain specific debuggers sometimes (gdb, debuggers of IDEs), I mostly debug via print-statements, as it just works in most scenarios.

Am I missing out? AFAIK step-back debuggers are still more research (I think Elm has something like this), but otherwise I just want to have system snapshots and there print($foobar) works very well for me across languages.

<comment><USER7> Yeah, you're missing out. :)

Print statement style debugging can (with effort) get a lot of stuff figured out.

But :), it's often fairly slow to go through that iteration cycle with non- trivial bugs, compared to using a debugger.

With a debugger, you start from the same place in your code you'd put your print statements. But instead of modifying the code to spit out values, the debugger will pass control of the running program to you. You can then go forwards through your program, seeing how the variable values change, which branches are taken, etc.

It'll get you to the same end result as the print statements, but faster.

Also, for complicated/hairy/weird bugs, being able to follow the actual execution can be enlightening which print statements don't really do.

<comment><USER6> :)

Some time ago I did more Java and used Eclipse heavily and its debugger was really nice, so I share your opinion that you get nice features.

However if you are working on a project (at least that has been my experience so far) that does a lot of multiprocessing (let's say a web service with a processing scheduler in the background calling into processes implemented by different languages) and you may have bugs on several layers using different programming languages, I like the fact that I can use the same concept for all of them and write some custom "debug.log" that I can later analyze (obviously good logging in the first place can help a lot).

But I may check them again: Do modern debuggers work across languages (assuming available source), let's say web-request -> Python -> FFI -> C++?

Previously such scenarios have been non-trivial to debug (although there are some pretty advanced multithreaded code analyzers now), but maybe it has changed for the better.

<comment><USER7> > But I may check them again: Do modern debuggers work across languages > (assuming available source), let's say web-request -> Python -> FFI -> C++?

Gah... no idea. I'm still doing mostly doing single language stuff. :D

The kind of request path you're mentioning there... yeah, I'd probably go back to using print statements too, as I'd have no idea how to hand off from one language to another in some kind of meta-language-debugger. Which would actually be nifty if it exists.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> > Too many people have a bad habit of including "go" in their repository name, > presumably to not confuse people with non-go version of the code.

Note that this is actually a _perfectly reasonable thing to do_. If I had two clients for some particular API, one written for Node and one for Go, it absolutely makes sense to name them "node-whatever.git" and "go-whatever.git".

Part of what makes naming things hard is needing to come up with a more "creative" name for every little module, especially once you throw in the constraint that apparently eight characters is too long and four characters is just right.

<comment><USER9> It might be necessary to resolve naming conflicts but it's not good.

In Go, package name should be the same as repo name.

Most cases that I've seen are not including "go" in repo name to resolve naming conflict but "just because", possibly cargo-culting others that did it.

<comment><USER8> What if those people or organisations have a lot of repositories and they want to use a naming convention that reflects that maybe, just maybe, _only a subset of their code is written in Go_?

I recognise that you don't speak for the entire Go community, but frankly this kind of over-prescriptive preference presented as the only possible way forward is oddly common in what often seems more like a church than a programming language ecosystem.

Go is just a tool, like any other. If I happen to use git for versioning that's my choice, and I (and everybody else) can and should name and arrange repositories _as is convenient_.

There is no "in Go" to be had here; merely "in my project as makes sense for me".

<comment><USER10> > What if those people or organisations have a lot of repositories and they > want to use a naming convention that reflects that maybe, just maybe, only a > subset of their code is written in Go?

I'm not sure I understand how that's an argument in itself for using "go-" or "-go" (or some other version) in a package name. It results in a lack of clarity in how to reference the package: the hypothetical "github.com/stripe/stripe-go" import path _probably_ (and almost certainly) introduces the "stripe" package name, but the the discordance between what you write as an import statement and by what name the package is referenced is unconventional and strange.

There are certainly times when it makes sense. And I agree with the idea that an organization, in most cases, shouldn't come up with a unique name for the Go implementation of, say, an API wrapper, just to satisfy Go convention. But generally speaking the convention should be followed not simply because it's prescribed but because it's sensible to avoid that disconnect between the import statement and the package name.

</comment></comment></comment></comment><comment><USER11> > However, win32 doesn't have anything to help you layout things on the > screen. Manual positioning is painful.

Ooooh, yes, I remember that. My first experiences with GUI programming was a tiny little of Perl/Tk, then Gtk 2 in Perl, Python, and Ruby.

And then I started working as programmer, doing maintenance on an line-of- business application suite written in C/Win32, and I was shocked people would actually put up with this. Fortunately, the overwhelming majority of my work dealt with the deepest guts of those programs, and I only needed to deal with Win32 directly on a few occasions.

<comment><USER12> I've started writing some Win32 code for fun and like you I found it a whole different experience from GTK and such. It really is an API rather than a toolkit.

Take scrolling. Scroll bars are provided when requested, but all the interactions have to be implement by the application. There's no 'scroll view' with standard behaviours. This means Microsoft can't easily add new scrolling behaviours as we see with the messy situation around high precision trackpads and touch.

Compare this to Cocoa with its auto layout, data binding and even document lifecycle management.

On the other hand, with Win32 I rarely find myself fighting the toolkit. I'm in control.

Backwards comatibility is also amazing. With my little project I'm targeting Windows 3.1 through Windows 10 with a single binary! I expected most of my effort to go towards supporting old OSes, but in reality I spend more time on modern features like proper per-monitor DPI suport, the gazillion different scrolling behaviours and (conditionally loaded) GDI+ and Direct2D implementations.

Another delightful aspect, although again it comes the beforementioned price, is the speed. My little utility starts instantly and won't skip a beat when you frantically shake the resize grip. Compare that to even the simplest UWP XAML app.

<comment><USER11> > Another delightful aspect, although again it comes the beforementioned > price, is the speed.

That is true, with only a little care, one can write insanely fast and responsive UIs in Win32.

</comment></comment></comment><comment><USER13> > "Go doesn't support xor (^) and or (|) operator on bool. As it turns out, > they are not neccessary. x ^ y is the same as x != y. a = a | b can be > written as: if !a && b { a = true }"

Well, you don't _need_ subtraction, division or multiplication either (or any number more than 1!), but they're certainly nice to have. Go has some nice qualities, but its choice of omissions continues to fascinate me.

<comment><USER14> You can put (some of?) your fascination to rest, Go has ||. [https://play.golang.org/p/_GKbk_GUAe](https://play.golang.org/p/_GKbk_GUAe)

</comment></comment><comment><USER15> Sounds very uneventful... A few porting bugs and language differences but not a lot.

At least it sounds like a great way to learn about flexbox internals.

<comment><USER16> This was my take too. Some reinforcement about the utility of tests. 4.5k is a relatively small amount of code (particularly in C or similar)

</comment></comment><comment><USER17> > As far as I can tell you can't step through tests in the debugger

Really? In Visual Studio Code this is as simple as:

1) Set a breakpoint in your test

2) Hit the "Debug Test" button

See [http://wopr.norad.org/~stefan/delve.png](http://wopr.norad.org/~stefan/delve.png) for this in action. Look how great this looks. And how you can see all your variables in the upper left section. How you can expand structs and inspect them.

In my experience this works really really well.

<comment><USER18> Delve and the VSC integration is great. Just note that it's historically been quite buggy and unstable. Worse, for a long time it wasn't practically possible to use Delve on macOS due to changes introduced in 10.12 [1] [2]. It should be better now, though.

[1] [https://github.com/derekparker/delve/issues/645](https://github.com/derekparker/delve/issues/645)

[2] [https://github.com/aaronhackney/delve_on_mac/blob/master/REA...](https://github.com/aaronhackney/delve_on_mac/blob/master/README.md)

</comment></comment><comment><USER19> This is what really struck me: "The API is still a bit awkward by Go standards. Too many methods, _not enough direct access to variables_ " Does he really mean that proper go code has direct access to fields rather than encapsulating them???

<comment><USER9> I would phrase it like that: most languages (C++/Java/.NET) have unhealthy obsession with creating unnecessary setters/getters, paying for it with increased compile time, code bloat, slower code.

In Java/C# land refactoring tools even give one-click access to "create me some setters/getters".

This is not to say that abstracting access with functions has no place, but if all they do is get/set the value, they are unnecessary.

<comment><USER20> > paying for it with increased compile time, code bloat, slower code.

Auto-properties in C# are one line of code, same as fields, and the getter/setter methods should always be inlined which turn them into field accesses anyway. So I'm not sure how that would affect compile times or lead to slower code in anything but some pathological use case. Or DEBUG, but at that point all performance bets are off.

(Technically Microsoft _can_ get worse performance on properties vs. fields when using NGen - that's why they have TargetedPatchingOptOutAttribute - <USER2> that doesn't apply to regular, non-Framework assemblies.)

As for code bloat `public int SomeValue { get; private set; } = 6;` encapsulates a publically read-only/privately mutable property with a default value quite concisely...

<comment><USER21> (smacks forehead)

Wait, wait, since _when_ can you put the default assignment right there on the same line? Go ahead, say _since always_... I dare you.

Edit: Apparently this came in C# 6.0 (July, 2015). Ok, now I don't feel so bad. :-)

On a separate note, C# might not sexy or even that popular, but I really enjoy coding in it, and the continuing evolution of the syntax is a joy.

<comment><USER22> It really is a joy to program in. I fought it off for the longest time (I like regular ole C, python, dabbled in Java long ago), but finally dipped my toes in and tried C# a month ago... While the language as a whole is a bit verbose, LINQ is incredible, and the breadth of the standard library is awesome.

</comment></comment></comment></comment></comment><comment><USER23>
        Go is so close to C. Wouldn't it be great if there was a program that could take C code and turn it into Go code?

        There are few attempts to do that:

        https://github.com/rsc/c2go
        https://github.com/elliotchance/c2go
        https://github.com/cznic/ccgo
        elliotchance/c2go seems to be the most promising.

        I didn't try any of them as neither seems to be usable yet.

Actually, we used github.com/rsc/c2go to port our Go compilers and linkers from C to Go. It was 100% mechanical translation. No manual steps needed to achieve correctness.

github.com/cznic/ccgo was used to port sqlite to Go. It passes all the (very comprehensive) sqlite test suite.

They work very well. The code produced is not very idiomatic Go, but it's not some monstrous impenetrable computer generated code either. It's quite similar to the original C code and it's readable and refactorable enough. After we converted the compiler from C to Go, we spent a lot of time to make the code more idiomatic.

<comment><USER24> >github.com/cznic/ccgo was used to port sqlite to Go.

Where is the result of this? Is it publicly available?

<comment><USER23> Sure:

[https://godoc.org/github.com/cznic/sqlite](https://godoc.org/github.com/cznic/sqlite)

[https://github.com/cznic/sqlite](https://github.com/cznic/sqlite)

</comment></comment></comment><comment><USER25> >`a | b` can be written as: `if !a && b { a = true }`

`a || b` ...

The repository _does_ have multiple cases of `a || b` and none of the `a = true` kind, so perhaps the author realized it after writing this blog post.

<comment><USER26> This one tripped me up too. I'm guessing he meant `a |= b`.

<comment><USER25> Of course he meant that. My point was that `if !a && b { a = true; }` is a silly way to write `a = a || b;`

</comment></comment></comment><comment><USER27> > As far as I can tell you can't step through tests in the debugger

Maybe I am missing something, but that is not correct. You can debug tests the same way as you debug any other code. Even works with the mentioned/used Go extension for VS Code.

<comment><USER9> It's quite possible that it's just my laziness in figuring out how to do it.

All I know is that hitting 'F5' in VSCode builds the binary and runs it under the debugger.

How would I debug the equivalent of `go test` in VSCode?

<comment><USER28> I have no idea in VSCode, but with JetBrains Gogland, debugging tests is stupidly easy. Simply add the breakpoint where you want it, left click on the play button in the line of the test declaration, click debug in the contextual menu, and off you go.

<comment><USER29> too bad sometimes it doesn't resolve pointers correctly

</comment></comment></comment></comment><comment><USER30> There's a C++ library for Win32 (and other platforms) GUI programming with built-in layout engine, wxWidgets. It's a bit old, but works quite good, large DPI aware etc. Unlike Qt, it aims to be slim, provides native look and feel for all controls on all platforms, and avoids creating its own leaky abstractions. Necessary workarounds for old versions of Windows are included too.

Probably it would be easier to create Go language binding for wxWidgets rather than reimplementing all that stuff from scratch. wxWidgets already has Python, Perl and Ruby bindings, and besides Windows supports Mac (Carbon and Cocoa) and Linux (GTK, X11 and OpenMotif).

<comment><USER31> There are already wrapper libraries in Go for it. I'd say more relevant to the article is the fact that wxBoxSizer wxFlexGridSizer are reportedly similar in capability to flexbox.

</comment></comment><comment><USER32> My only problem with porting from A to B is how to keep B updated when A changes. Manual step destroys it all.

</comment><comment><USER33> Sweet, Windows GUI in Go! Glad I put this off this long...

PS. That evergreen/un-dated content tho!

</comment><comment><USER34> Looks like they're using walk and win for the gui.

[https://github.com/kjk/walk](https://github.com/kjk/walk) [https://github.com/kjk/win](https://github.com/kjk/win)

</comment><comment> nv-vn Not naming it Yogo was a missed opportunity.

</comment><comment><USER35> Today I learned that Go does not support the ternary operator. that's sad :(

<comment><USER36> Gah.. I hate the ternary operator.

Not that it's necessarily a bad thing in and of itself, but every time I've come across it in code, I've ultimately had to yank it out because I've needed to support an additional possibility. I don't get what value it really supplies, and it seems like people are really fond of using it in the wrong places.

<comment><USER37> _I don 't get what value it really supplies, and it seems like people are really fond of using it in the wrong places._

It's a conditional _expression_ , not a statement, and particularly helps simplify things like

        if(foo)
            someVeryVeryLongExpressionEvaluatingToAnLvalue = someShortRvalue;
        else
            someVeryVeryLongExpressionEvaluatingToAnLvalue = otherShortRvalue

into

        someVeryVeryLongExpressionEvaluatingToAnLvalue =
            foo ? someShortRvalue : otherShortRvalue;

I suppose to really "get" what the ternary is useful for, you have to have some experience with a more functional programming language, focusing on the flow of the data itself. There, multiply-nested ternaries are really _the_ norm for what you'd otherwise call "control flow" in non-functional languages, and structures like this are common:

       value = isAtrue ? A_value :
               isBtrue ? B_value :
               isCtrue ? C_value :
                         D_value ;

(Does _not_ work in PHP, but every other language with a ternary will interpret that as a compact alternative to the far more cumbersome if/else --- especially if coding standards dictate braces on their own line.)

<comment><USER38> I don't like the ternary operator ?, because it's not obvious:

xyz = foo ? bar : baz;

What does it mean? Which is the condition? which is the true, which is the false value? It's not obvious.

In Python it is much more clearer:

xyz = bar if foo else baz

<comment><USER39> I honestly struggle to understand how a traditional ternary like this isn't obvious. The bit before the question mark is the condition (er, like a question, which ends with a question mark), then the other two bits are for true and false in the order you would expect.

I will freely admit I try and avoid nested ternaries, which I personally find hard to read.</comment></comment></comment></comment></comment>


Show HN: Brutal.JS – markup as functions of state - <AUTHOR> https://github.com/crislin2046/brutal.js <comment><AUTHOR> I don't intend many people to use this. I made it for my own productivity, disliking many aspects of React, Vue and Angular and their associated ecosystems / tooling.

This is more akin to `lit-html` and `AppRun` than other things. I would not use JSX, and don't personally consider the syntax noise from templates, nor the posited "performance toll" from ES6 templates (relative to JSX) an issue.

I'm putting it here as I intend to do a benchmark, a la [https://medium.freecodecamp.org/a-real-world-comparison- of-f...](https://medium.freecodecamp.org/a-real-world-comparison-of-front-end- frameworks-with-benchmarks-2018-update-e5760fb4a962)

Also I'm building something called `DSS` (dynamic style sheets), which are similar to CSS-in-JS, with the idea being to have style as a function of state.

This is all just for my own enjoyment and productivity to use in my own projects, but I'm OK if other people find it useful (but I don't want it to become an OSS project with all the requirements of maintaining that) and welcome any criticism, feedback and ideas as well.</comment>


An Open Letter to the Democratic National Committee from a Rural Democrat - <AUTHOR> http://ndxplains.com/2016/12/22/open-letter-democratic-national-committee-rural-democrat/ <comment><USER2> >> That seems like a stark contrast from the rhetoric we hear from many national Democratic leaders who seemingly _want to alter our way of life._ (Emphasis added)

That's the problem right there. It's easy to imagine that everyone lives like you when you are in a city that rarely leave, unless it is to fly to _another_ city. The democrats have little hope of regaining any majorities in the 3,084 counties where Trump won unless they make major changes to their policies that damage the economies in many of those counties and their strategy of trying to shame them into changing their behavior (including calling them "deplorable" and "irredeemable").

<comment><USER3> > That's the problem right there. It's easy to imagine that everyone lives > like you when you are in a city that rarely leave, unless it is to fly to > another city

I hope you can see the irony in rural areas being upset that "those city people don't understand us" when they also make little attempt to understand the political motivations of urban voters. They also seem to believe that the world should keep subsidizing their jobs even when there is a long term trend of urbanization etc.

Personally I think rural and urban areas need each other but we need more compromise - why are urban areas subsidizing infrastructure spending in rural areas and the farm bill only to get kicked in the teeth when issues associated with urban areas come up? Do we want to go back to rural poverty being the norm? My wifes grandparents grew up in that and it was a hard life. Those people need affordable healthcare and benefit from being able to send their kids off to good universities etc.

Rural America doesn't have a monopoly on the "real" America - they are just as out of touch with urban America.

<comment><AUTHOR> > why are urban areas subsidizing infrastructure spending in rural areas and > the farm bill only to get kicked in the teeth when issues associated with > urban areas come up?

I'm curious what Urban American has gotten "kicked in the teeth" by? Mainly, the $ figures are from military, power, and agriculture which Urban American doesn't want in their backyard. Pigs and turkeys don't smell so good, and wind farms are noisy, unsightly, and a bit dangerous. Counting military and power spending is pretty poor form. Transportation happens because the low cost raw materials come from the rural areas. No roads, no food for urban folks.

> Rural America doesn't have a monopoly on the "real" America - they are just > as out of touch with urban America.

That's not really true. Rural America is quite aware of the issues Urban America face because that's all the news really covers. When the news covers Rural America it is pretty bad reporting unless the reporter is actually local[1]. The whole debacle of the pipeline in Standing Rock pretty much proved the point. I've seen coverage of celebrities and pieces from major publications that get much of the history wrong[2].

1) which makes me wonder about reports coming from the rest of the world

2) the whole "rich people in Bismarck" line is beyond insulting and the amount of back story on all the prep for the pipeline is tragically poor.

<comment><USER3> > I'm curious what Urban American has gotten "kicked in the teeth" by? Mainly, > the $ figures are from military, power, and agriculture which Urban American > doesn't want in their backyard. Pigs and turkeys don't smell so good, and > wind farms are noisy, unsightly, and a bit dangerous. Counting military and > power spending is pretty poor form. Transportation happens because the low > cost raw materials come from the rural areas. No roads, no food for urban > folks

A local example for my State would be spending on public transportation vs bridges. Elected officials from rural areas are routinely outraged about "wasteful" spending on buses/trains to relieve congestion but then complain that not enough is spent on rural bridges and highways. You are right, we do need roads to bring food in (it's symbiotic too by the way -if urban areas don't buy then rural areas are back to subsistence farming and poverty) but we could do that without four lane highways and overpasses. Personally I amok spending tax revenue on infrastructure but that should include public transportation in urban areas if appropriate.

> That's not really true. Rural America is quite aware of the issues Urban > America face because that's all the news really covers

Seeing coverage is not the same as understanding. Ask someone in a rural area how to solve inner-city poverty and they will give you a different answer than someone who works in the field. The same could be said about rural issues.

To be clear, Im not saying urban America understands rural America. I'm just sick of seeing this narrative of "Trump won because liberal elites don't understand rural America". It's way too simplistic.

<comment><AUTHOR> I would hardly call public transportation vs bridges a kick in the teeth. Bridges are becoming a huge issue for everyone. Just look at what happened in urban MN when the 35W bridge went because we were not spending the money on maintenance.

> Ask someone in a rural area how to solve inner-city poverty and they will > give you a different answer than someone who works in the field.

I'm not sure urban folks know how to solve it either.

> I'm just sick of seeing this narrative of "Trump won because liberal elites > don't understand rural America". It's way too simplistic.

It is simplistic, but you cannot have a candidate show up and give speeches about putting all the people in a region out of work without a lifeline. Not everything in life is complicated. If someone showed up in SV and said "I don't like this technology and we will be shutting it all down", I would imagine that person is going to get no votes.

I'm pretty sure Rubio (or most of the R candidates) would have won, and it would have been on the same basis. The fact that the Republicans won with a candidate with the highest negatives is pretty hard to believe.

As a side note, I starting to think polling companies should look at donor lists to get some baseline on candidates. I'm thinking that's the next wave of polling analysis.

<comment><USER3> 35W is a great example (I live in the Twin Cities and was only a mile or two from the bridge when it collapsed). Our Republican Governor at the time (Pawlenty) had aspirations for Washington so signed a "No New Taxes" pledge primarily to appease rural Minnesotans (he also promised to "reprioritize" spending to benefit rural areas). It was a great example of how bridges that were known to urgently need repairs were neglected. After Dayton (take a guess which party) was elected the State raised taxes and has rebuilt many bridges.

The Twin Cities also has some other good examples - Republicans actively fight against metro transit projects (both light rail lines, the proposed SW Light Rail, BRT lines in place of LRT for at least 3 other corridors, and even regular city buses) but proudly tell their rural/exurban constituents about "successes" like replacing the Stillwater lift bridge (an old 2 lane bridge) with a massive four lane bridge very similar to the I-90 bridge just south of the area. How do you justify $500M for a bridge that benefits ~ 10,000 rural commuters/rural industry but ignore the daily congestion that tens of thousands of commuters face (coming in from Woodbury, Oakdale, Lake Elmo, Hudson etc). The gateway corridor had a similar price tag to the Stillwater bridge but became a partisan issue.

It doesn't have to be an either or situation - we could fund both but it gets turned into a partisan issue by Republicans in the name of "wasteful spending by urban liberals". Democrats don't oppose rural bridges or highways but many Republicans actively oppose public transport on principle.

<comment><AUTHOR> I was living in Twin City at the time also, and the loss of the T-Mobile tower made finding loved ones a bit difficult.

Your history of the metro light rail is a bit off. The rail was pushed by Gov. Jesse Ventura (who the Republicans and Democrats would surely not claim). It was opposed by Pawlenty, but he relented on a smaller line to get the federal money. The state government under Pawlenty funded in via a bonding bill for $37.5 million. That didn't pay for it though. It took almost $100 million from the state and money from various other regional players with over $150 more million from the feds. It has not met its promised ridership goals, and it will never relieve congestion.

All of this money could have gone to fixing the roads instead of funding a train that kills people because of a bad route in Minneapolis that once was a turn. Never mind the whole problem with the U. Check the stats on transportation to see how important those bridges are to business as commuter numbers are not the whole issue. Those daily congestion issues can be blamed on not wanting to expand the highways. The long proposed 294 and 894 would have done more than then the light rail.

<comment><USER3> I was referring to the new LRT corridors.The Hiawatha line was built before I came to MN. You are absolutely correct that metro funding via Met Council made up much of the cost.

The most recent LRT line hit its ridership goals within one year (2014 instead of 2030 - [https://www.mprnews.org/story/2014/09/19/green-line- ridershi...](https://www.mprnews.org/story/2014/09/19/green-line-ridership)). The Hiawatha line is also doing well - exceeding 2020 goals in 2016. People die on 94/694/494 all the time as well unfortunately.

I'm not familiar with 294 and 894, will definitely read up on them. Thanks for the debate/information!

<comment><AUTHOR> > I was referring to the new LRT corridors. The Hiawatha line was built before > I came to MN. You are absolutely correct that metro funding via Met Council > made up much of the cost.

I left in 2008 but still visit. All my relatives and friends move to MN after I moved back to ND. I try not to take that personally :). Someone needs to seriously fix the north west metro.

I think the working name for 294/894 switched a couple of time so it might be "extended loop" or some bypass name. It was supposed to surround the larger metro area since 494/694 is basically an interior road.

I'm glad someone is using it, but I do believe the federal application had a different ridership goal / promise. I just wish they had elevated it.

Thanks for staying civil, its been a rough couple of months here.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER4> There's a lot of fluff in the first part that plays up the caricature of rural America -- this hurts the blog post because it makes it easier to dismiss the entire message. Don't.

The oil angle is crucial, although not often talked about. By rallying against projects like Keystone XL -- a Canadian venture to bring Alberta oil sands crude to Gulf of Mexico refineries -- and conflating the legitimate debate over the exact routing of the Bakken formation's Dakota Access Pipeline with a blanket opposition against oil pipelines in general, Democratic voters and leaders are signalling that they're uninterested in supporting a major job producer and the reason for North Dakota's positive balance sheet.

Although several years behind, North Dakota has every opportunity to become like Alberta (or any number of states in OPEC), using oil money to prop up the quality of life of its residents. The influx of money and talent can been used to stimulate job creation and ventures that are less dependent on the momentary price of oil and create lasting wealth in an area of the country that could really use some. These ventures have been pursued since the Bakken boom and have resulted in low unemployment, a state budget surplus, and personal income growth, but have a long way to go before they're self- sufficient.

Climate change affects us all, but not defending domestic energy extraction seriously hurts the Democratic party platform.

</comment><comment><USER5> This seems more of just a problem with how the two parties try to win by absorbing every fringe groups crazies cause into a national platform. It is a failing of our country to have hyper partisan politics controlled at a national level and holding all members in every state accountable to the same platform.

<comment><USER6> Naw my guy, the failures of the American left are rooted in its inability to be a party of the working class. Every lost election sees the policy of the Democrats moving further and further to the right, leading to a platform that masquerades as progressive but actually alienates and abandons working class Americans because it isn't actually committed to them. Bernie was the first step (although many argue he didn't go far enough), but since the us Democratic party is held by the same corporate reins as the Republican party, he wasn't given a fair chance. If you look at other developed countries, even America with its most blue government is still to the right of center on economics.

</comment></comment><comment><USER7> Back when I did real estate, the rural areas surrounding our city were just eaten-up with meth. People cooking meth. People taking meth. Houses burning down, etc.

Coexisting with this meth epidemic were a bunch of loyal old-timers who knew the place in better times.

Consider how those old-timers must feel as they watch the mainstream Democratic party make transgender-bathrooms priority #1 while their own hometowns are turning into shit...

<comment><USER8> Pardon me, but wasn't it the Republican party that made transgender bathrooms a priority, by introducing and passing legislation? That played very well with their religious-right core, as well as the rural old-timers who might otherwise prefer Democratic policies.

That is, however, one of the greatest failings of the Democratic party over the last 15 (20? 25?) years: letting the Republicans choose the battlefields.

<comment><USER7> From the past two Democratic administrations, it looks more like surrender than failure. Obama at least got the ACA through, even though a lot of the awfulness of the Bush administration survived. Clinton was more like total surrender with banking dereg of 1999 and welfare reform.

As the Republican-lite party, it is entirely their fault that the Republicans set their agenda.</comment></comment></comment>


How Drakeo the Ruler recorded an album from jail - <AUTHOR> https://pitchfork.com/thepitch/how-drakeo-the-ruler-recorded-thank-you-for-using-gtl-from-jail-joogszn-interview/ <comment><USER2> This interview hints at it, but the much bigger story is LASD & the DA's insane crusade against Mr. Mosely [https://www.thefader.com/2019/07/11/drakeo- the-ruler-murder-...](https://www.thefader.com/2019/07/11/drakeo-the-ruler- murder-trial-los-angeles-report)

[https://www.thefader.com/2019/09/03/drakeo-the-ruler- charges...](https://www.thefader.com/2019/09/03/drakeo-the-ruler-charges- refiled)

Acquitted of all counts pertaining to murder and attempted murder and still remains incarcerated in solitary confinement inside the COVID-wracked county jail — without the option to post bail.

<comment><USER3> I actually served on the jury panel for this case. I would agree that his solitary confinement is excessive and cruel, but that article is incredibly biased. He's still incarcerated because there's a fairly strong case for the two remaining charges he faces .. has nothing to do with a vindictive crusade.

<comment><USER4> I knew nothing about the case before reading this. Could you post a link that you think better represents the facts?

<comment><USER3> There aren't any articles I'm aware of that are written neutrally on the case. The media I've seen is either from rap news sites or his defense attorney .. both of which have obvious bias. The public record from the case would probably be the best source.

There seems to be a concerted effort to push the narrative that Drakeo is a victim in all of this. That wasn't true from my perspective (and I think for most of the Jury). The issue we had with the case was that the facts didn't rise to the level that the DA was charging. I can try to shed some light on the other side of the argument that seems to be missing. This is by no means a complete summary .. there were over 46 charges in the case including murder, burglary and witness intimidation.

Drakeo ran what was referred to as the "burn house" for the 2Greedy group. Apartments that were used as a gang house. Notable to the case, these apartments had communal guns that were furnished by the group for anyone to use. Solo confirmed this via testimony. The murder weapon Boyd used was one of these communal guns. There was also video evidence of Drakeo and his brother stealing guns from businesses on separate occasions for communal use (note neither was the murder weapon). The second iteration of this burn house was raided by the police. They recovered around 8 or 9 illegal weapons (including an AK variant). Then there were the group text messages found during discovery. Drakeo sent explicit messages calling on 2Greedy members to bring guns with them and to be ready to use them when they were with him. He called for members to "step up" and be proactive. There were lists of core gang members, the criteria seeming to be who was willing to proactively commit crime.

The night of the murder, there did appear to be a plan to go to a party with the express intent of killing another rapper. This was confirmed by Boyd (shooter #1) in jailcell recordings. Solo, Drakeo and Kellz (shooter #2) were in one of the cars. Boyd had his own car. Cell phone tower records, testimony, and video surveillance all corroborate. The video evidence taken from the parking lot where the murder occurred shows coordination between the group to position themselves strategically near the only exit. In the video, they wait around .. a group from a rival gang of Kellz's walks by .. Kellz and Boyd open fire. The general consensus of the Jury was that this was a case of Drakeo "playing at being a real gangster" without the actual intent to kill. One of the reasons being that they were targeting someone (another rapper) who was very clearly not going to be at the party. Given that the person who was murdered was not the person who was intended to be the target, we couldn't find the intent to kill prong of murder applicable for Drakeo.

The two remaining charges he faces are Gang Conspiracy and Shooting From a Motor Vehicle. Gang Conspiracy because he very clearly contributed to, if not created, the environment in which the murder took place. Shooting From a Motor Vehicle because he was in the car that one of the shooters shot out of. The law is incredibly broad on that second one .. he doesn't actually have to fire the gun.

The DA overreached with the charges, but make no mistake these guys are criminals ..

<comment><USER5> So, to be clear, Drakeo didn't shoot or otherwise harm anyone?

And he's being held in solitary awaiting a second trial after already being acquitted?

</comment></comment></comment></comment></comment><comment><USER6> In a similar vein, Vybz Kartel (who's worked with Diplo in the past) has been releasing music from jail since 2011.

[https://www.dancehallmag.com/2020/06/25/news/just-how- does-v...](https://www.dancehallmag.com/2020/06/25/news/just-how-does-vybz- kartel-record-music-from-prison.html)

</comment><comment><USER7> What's the earliest example of this? I remember being astounded when I heard that "Sacred Love" by Bad Brains was recorded the same way in 1986.

[https://dangerousminds.net/comments/sacred_love_the_bad_brai...](https://dangerousminds.net/comments/sacred_love_the_bad_brains_song_that_was_recorded_over_the_phone_from_priso)

<comment><USER8> Drakeo probably got this idea from Mac Dre, an earlier California rapper who also recorded an album from prison. Drakeo talks about Mac Dre in his lyrics and both share some stylistic tendencies like creating their own lingo.

<comment><USER9> Yeah...I was thinking the same thing. "Romper Room Gang"

Mac Dre got a lot of respect due to his refusal to inform on the others (even though supposedly he had nothing to do with it). Sad story. He died in a car which was shot at after a show. Very ahead of his time musically.

</comment></comment></comment><comment><USER10> 03 Greedo is apparently also releasing music from jail.

</comment><comment><USER11> I mean a lot of this seems to be human creativity... Wasn't so much they were able to record cleanly or clean up the vocals afterwards as applying effects that really distorted his voice but in an enjoyable way.

</comment><comment><USER8> Wow! Do HN people actually know Drakeo? I never expected to see this here.

Free Drakeo!

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

<comment><USER12> The social values promoted in this video are appalling. I'd like to see viewer's age demographics but I'm afraid I already know the answer.

(Also anticipating downvotes. Hopefully the set of those interested in this article can withhold downvoting-for-disagreement.)

<comment><USER8> Ha! The video I posted is _tame_ for gangster rappers. What exactly are you outraged by in the video? Crashing cars? Guns? Drinking lean? The lyrics?

What's really appalling is that Americans enacted stupid policies that pitted the police in war against the gangs over drug profits. The part of Watts where these rappers like Drakeo and 03 Greedo grew up is absolutely brutal, but the Crip set there is well connected after 50 years of activity. I guarantee these guys don't care whether you like it or not... but it's reality until you can overcome your outrage and legalize the things that make gang life so potentially lucrative.

<comment><USER13> > ...legalize the things that make gang life so potentially lucrative.

Oh, you mean legalize robbery, extortion, theft and burglary too? What do you think gang members are going to do if _just one_ of their most lucrative streams of money dries up, get a job at McDonalds?

<comment><USER14> That Al Capone didn't turn to flipping burgers after the 21st Amendment doesn't illustrate the correctness of the 18th Amendment.

Robbery, extortion, theft and burglary - plus other crimes and social ills - are all made far, far, _far_ worse by keeping the control and supply of recreational drugs firmly in the hands of homicidal maniacs.

<comment><USER13> > Robbery, extortion, theft and burglary - plus other crimes and social ills - > are all made far, far, far worse...

Really? What's the evidence for that?

I'm not necessarily in favor of criminalizing drug trade, but it stands to reason that absent that "line of business", criminals would be under higher pressure to make money otherwise.

Drug trade at least is more likely to only affect those involved with drugs, whereas these other crimes are more likely to affect "bystanders".

<comment><USER14> > Really? What's the evidence for that?

I thought this was an uncontroversial fact everyone knew, but a two-second search on drug-related crime would answer your question, with many links. For example:

"In 2004, 17% of state prisoners and 18% of federal inmates said they committed their current offense to obtain money for drugs [...] In 2002 about a quarter of convicted property and drug offenders in local jails had committed their crimes to get money for drugs [...] Among state prisoners in 2004 the pattern was similar, with property (30%) and drug offenders (26%) more likely to commit their crimes for drug money than violent (10%) and public-order offenders (7%)."

[https://www.bjs.gov/content/dcf/duc.cfm](https://www.bjs.gov/content/dcf/duc.cfm)

> I'm not necessarily in favor of criminalizing drug trade, but it stands to > reason that absent that "line of business", criminals would be under higher > pressure to make money otherwise.

Drug legalization is not about ending all crime, and nobody is saying it would, so I'm not sure why you keep saying this. It's about reducing the power of organized crime/cartels, reducing drug-related crime (see above), providing more effective rehabilitation and safety/health, and civil liberties.

> Drug trade at least is more likely to only affect those involved with drugs, > whereas these other crimes are more likely to affect "bystanders".

I'm not even sure what you're arguing here, but it seems to be that you think the drug trade only negatively affects drug users and, even more bizarrely, that criminals aren't already involved in "other crimes".

<comment><USER13> > I thought this was an uncontroversial fact everyone knew...

Well, obviously not.

> ...but a two-second search on drug-related crime would answer your question, > with many links...

So, a minority of offenders claim they did their deed "because of drugs" and if drug legalization were to happen and we suppose that 100% of these candidates now stay on the good side of the law, we can expect, at the very best, a 30% reduction in crime.

That doesn't answer the question about career criminals. Let's say drugs are free, that's great, no more crime for drug money. What else do people want to buy with money they can't earn legally? What about status symbols like jewellery or sneakers? Don't you need these to be free too? But then how could they be status symbols?

I have no doubts that drug legalization will reduce some amount of crime that is tangentially related to drug use or trade. However, there's no clear correlation between drug prohibition and crime, some countries with very strict prohibition (Japan, Korea) are low on crime, others are high in crime (Phillipines).

I reiterate, if you have a bunch of gangsters and take away their most lucrative and (arguably) most benign stream of income, they need to move on to other venues. I'd rather have them sell weed and coke and maybe get into the occasional turf war, rather than having them double down on robberies and home invasions.

> Drug legalization is not about ending all crime, and nobody is saying it > would, so I'm not sure why you keep saying this.

I'm _not_ saying this.

> I'm not even sure what you're arguing here, but it seems to be that you > think the drug trade only negatively affects drug users...

Read it again, maybe you'll figure it out. Drug trade _mostly_ affects drug dealers, users and their peers.

Certainly you must recognize that there's a _tradeoff_ here - legalization of all drugs would be a big experiment with lots of unknowns.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER15> It's not amazing sounding. Sounds like phone-quality audio like you would expect, and the production isn't very good either. Find myself in disagreement with Pitchfork on this one.

<comment><USER4> Strongly agree. Nothing remarkable, not even a little bit. It doesn't even sound _good_.

<comment><USER8> It's like some forms of metal and punk, being raw is part of the appeal. When most of your songs feature long interludes of "mud"-induced rambling, it's not that important than your prison-phone vocals sound pristine.

<comment><USER4> Aesthetically, I understand what you're saying. I like muddy stuff, but this is just poorly mixed IMO. Not like in an audiophile "but the compression!" way or something, it just sounds like garbage.</comment></comment></comment></comment>


Senator Harry Reid Caves: PIPA Postponed - <AUTHOR> http://techcrunch.com/2012/01/20/senator-harry-reid-caves-pipa-postponed/ <comment><USER3> Postponed is awfully vague. The senator's two tweets immediately after that one are more telling:

> There's no reason that legitimate issues raised about PROTECT IP can't be > resolved. Counterfeiting & piracy cost 1000s of #jobs yearly #pipa

> Americans rightfully expect to be fairly compensated 4 their work. I'm > optimistic that we can reach compromise on PROTECT IP in coming weeks

He has not had a crisis of conscience. Just a crisis of wording.

<comment><USER4> I became critical when he said issues with the bill "[can] be resolved." No, no they can't.

These bills (SOPA _and_ PIPA) are broken and are unfixable. The only way to "fix" them is to scrap them and rewrite them.

He also implies that PIPA will generate jobs in the industries most troubled by piracy, and again I have to disagree. The problem is with these companies pushing outdated, annoying business models instead of embracing the hundreds of amazing startups trying to fix the problems these companies have. Jobs won't be created by passing these bills. That's just the sugarcoating that the lobbyists use to make the bills look feasible to the Senate.

And I agree fully, creators deserve compensation for their work. As an entrepeneur, I know the feeling of getting something in return for creating. But these bills will open Pandora's box and unleash all hell on the Internet and American citizens. No more fixing. Kill these bills once and for all.

<comment><USER5> "The problem is with these companies pushing outdated, annoying business models instead of embracing the hundreds of amazing startups trying to fix the problems these companies have."

It's worse than that, in that the business models aren't the only thing that's outdated. The real problem is that the law itself - to which those models are inextricably linked - is what has really become archaic.

After all, copyright spent 300 years evolving under a paradigm in which the ability to copy and distribute, and to make derivations from media were all highly concentrated in capital intensive operations to which few - if any - independent citizens had direct access. In that regard, publishing operations were like Boeing 747s. And these core assumptions are reflected throughout the law.

Today, the paradigm has inverted. Like the Earth becoming unmoored and starting to revolve around the now-fixed sun, the emergence of low-cost, highly distributed general computing has inverted the once-dominant conception. And like the view of an unmoving Earth at the center of the cosmos, the entire conception of copying as a strictly limited right has become unsustainable.

Now it's the law itself that needs to change. The assumptions that are based on the idea that people don't have secure networked computers need to be removed, root and branch. Obviously, business models that depend on the old paradigm will not get "fixed". Rather, they will die. In this sense, the copyright protected industries actually have a clearer understanding of technology than they're usually given credit for. The hundreds (indeed, thousands) of startups wanting to move into the space they occupy are like a teeming horde of army ants. Left unexposed, the cartels would be swiftly consumed. The only 'solution' is to double down on the now-archaic law and maintain what they can while hoping the plutocracy advances far enough to snuff out democratic process entirely.

Though the timber may be rotten, it still props up the roof of the only shelter they have. And that's why they will do literally anything to protect it.

And while there are many many startups, they, too, have a problem in that the absence of reality-based law will ultimately hurt their prospects as well. Like the rest of us, they're operating an an Interregnum - the period between kings - one defined by a collapse that hinders the emergence of its replacement. The old is dying, but won't permit the new to be born.

My own thought is that real reform would mean realizing that we cannot police people's lives well enough to enforce copyright at the individual level. Instead, we need to look at the corporate entity - an entirely non-human construct - when trying to locate the box-office of the future.

This would mean adapting copyright law so that only incorporated entities could be subject to its penalties. Individuals can do what they like. But once they do anything with enough financial scale to merit incorporation, they need to submit those organizations to the traditional rules governing duplication, distribution, and derivation.

This would prevent Universal Pictures from making a copy of Harry Potter and screwing Warner Bros. out of the proceeds from unlicensed public exhibition. And it would keep Warner Bros. from making movies from J.K. Rowling's books without dealing with her directly. It would also prevent operator-controlled commercial services (like Netflix and iTunes) from distributing unauthorized copies of HP. But it would not prevent people from sharing files among themselves, or allow user-controlled exchanges to be liable for their activity. Keep the DMCA takedown as a compromise, acknowledging the corporate nature of neutral intermediaries, and make systems like YouTube's ContentID the norm. But go no further.

Admittedly, this is a massive change. And it may not provide for the future of the existing cartels. But that's not the point. The point is having law that is clear, constitutional, and aligned with reality. The rest of the chips must fall where they may. With that in place, new and lasting business models can finally emerge in peace.

<comment><USER6> I love this post and agree with most of it, but I'd like to point something out.

> But once they do anything with enough financial scale to merit > incorporation, they need to submit those organizations to the traditional > rules governing duplication, distribution, and derivation.

How do we know that we can govern/enforce _that_ law? What if a digital currency (say, bitcoin) becomes a useful model for online payments, in a way that cannot be tracked or enforced? The same issues pop up. People can then profit from others' works.

This may require an additional concession: people should be able to profit from the service of distributing content, even if they did not create it. But is that something we're prepared to allow? And if so, how will that affect the dynamics of distribution and content creation in the future?

In my own perspective, services will have enough of an incentive to publish and distribute unique content, that it will indirectly subsidize the creation of it.

<comment><USER5> Thanks for the kind words. And I actually see three separate concerns in your first question.

1\. "How do we know that we can govern/enforce that law?"

The same way we currently do. This plan changes nothing about the way established companies handle copyright. It simply means we stop trying to apply those same rules and standards to private individuals, and acknowledge that business models must change to reflect that limit.

Difficult, I know, but evolution is tough for everybody. And we already accept that companies die all the time. There's nothing special about media companies that should permit them to stop the clock so they can live forever.

Instead, rights-holders can maintain their relevance by sucking it up and proceeding accordingly, or they can die trying. But we can't allow them to respond to the 21st century, and the rise of ubiquitous general computing by insisting that the Internet's architecture be reworked to support the powers of surveillance and censorship that effective enforcement at the individual level unavoidably requires.

2\. "What if a digital currency (say, bitcoin) becomes a useful model for online payments, in a way that cannot be tracked or enforced?"

If a legally chartered corporation starts using bitcoin to evade regulatory oversight, I suspect the practice wouldn't be limited to IP payments only. Nor do I think the IRS would tolerate it for one hot second. In other words, I don't think this is a problem that this plan needs to solve.

3\. "...People can then profit from others' works."

True, but under the scheme I'm proposing, they wouldn't need bitcoin to do it. They could freely profit using credit cards if they liked. What I'm suggesting is that "profit" and "commerce" are potentially too intimate to be the triggers for a set of rules as heavy-duty as copyright.

In the same way that the IRS doesn't demand that 1099's be issued to anyone receiving less than $600 in a year, we need to recognize that commerce and profit at a certain scale, not in general, is what engages the law. Exactly what that scale is can be hard to say. I don't even try. Instead, I just used incorporation as a shining line that triggers involvement.

This has the moral value of protecting the cultural liberty of actual humans, while asserting that corporations DO NOT share the same liberty. It also has practical value in that corporations have quarterly reporting requirements that make general audits much more reliable. And it economic development value in that it creates a bounded but otherwise very unrestricted economic space in which new cultural forms can freely gestate and develop, without worrying that they become "infringers" the second a single dollar changes hands.

For example: you live in Brooklyn and you want to host a rooftop party where you screen movies, play music, drink beer, and enjoy summer. You arrange for all of the above, then charge people a $10 cover. The object is to cover costs, but who knows, perhaps you make a few bucks on the deal. So what? Should the law allow various rights holders to extract rent from this situation? My feeling is no. Indeed, they really can't. And for that reason, they really shouldn't be free to outlaw this either.

Now what happens if the film series takes off? The City demands that you get a liquor licence. The landlord (who is surprisingly cool) wants a small cut and proof of insurance. You actually have to treat this like a business. And maybe there's a decent business here. But do you want the personal liability involved? Or would you rather incorporate?

Assuming you incorporate, the whole deal changes. This is where you become part of the larger system that transfers money from audiences to the people making the stuff that attracts them. How those terms work is TBD. Obviously, rights holders don't want them to be too stringent, since that encourages people to take greater and greater risks before biting the bullet and joining the payment structure. They also need to reconcile themselves to the idea that cultural freedom with a bit of money involved is like adolescence for operations that aren't kids, but aren't adults.

In terms of the developing the next generation, that stage is vital. And being smart enough to leave it alone is in rights holder's interests. If they stop trying to kill fledgling operations while they're figuring themselves out, they'll actually be in a position to benefit from a new generation of really capable adults who will help find new markets for their products. But they have to let those nascent businesses develop freely and independently. And they have to respect the will of a democratic populace that thinks this kind of liberty is a good thing.

Incorporating is like turning 18, or 21. We all know that there are people who are still very immature at those ages, and others who have reached maturity a few years earlier. But qualifying who is and is not a legal adult based on those personal differences is a fool's errand. Instead, we have bright shining lines that are hard to fudge, and that work well enough to live with.

And to be honest, knowing what I know about the ambitions of people who are attracted to media as a business, there will be plenty of people doing everything they can to put the kid's table behind them, and take a seat with the grown ups.

</comment></comment></comment></comment></comment><comment><USER7> Reid's official statement on his .gov website ([http://democrats.senate.gov/2012/01/20/reid-statement-on- int...](http://democrats.senate.gov/2012/01/20/reid-statement-on-intellectual- property-bill/)) said the movie industry alone 'supports' 2.2 million Americans. A claim Maddox humorously pointed out was clearly wrong even if you factor in the "related" jobs like food service: <http://maddox.xmission.com/>

</comment><comment><USER8> I have a feeling it will be postponed until the "2012 Omnibus Save the Children & Support the Troops" bill is up for a vote and it is added as a rider to the section dealing with funding terrorist groups. Probably right before the November elections.

</comment><comment><USER9> Postponed until the media coverage dies down and they can pass it when no one is paying attention as an amendment to another bill

</comment><comment><USER10> "Postponed". Lovely.

<comment><USER11> If only postponed meant for the life of the author plus seventy years.

</comment></comment><comment><USER12> "So we can find a better solution."

Yeah. Make Hollywood run a real business without jackbooted support, that would be a better solution.

You know what happened here? For a couple of hours on Wednesday, a whole bunch of Americans realized that politics might actually affect their lives - <USER2> Congress felt the icy knife of knowledge of how close they came to utter destruction of their gravy train. Because if that American beast ever actually wakes up, times are going to get interesting.

</comment><comment><USER13> Postponed is not enough.

</comment><comment><USER14> >> Both bills have now been tabled. Hearings on the Stop Online Privacy Act (SOPA)...

Hahaha. I think it should read Stop Online _Piracy_ Act.

</comment><comment><USER15> I agree with the general theme of the comments. "Postponed" sounds more like "regrouping" to me.

<comment><USER16> It also gives them time to squeeze more money out of the relevant lobbying groups.</comment></comment>


Moving Toward an Evolutionary Theory of Cities - <AUTHOR> http://www.citylab.com/design/2014/11/moving-toward-an-evolutionary-theory-of-cities/381839/

<comment><USER2> As European I always feel a big difference between cities that evolved in the course of millennia and cities (or parts of them) that have been built after cars. They have different patterns. It's not the grid, Roman cities have that too, (check Turin in Italy). It's the size of the roads, all the space used for cars' infrastructure, which separate buildings and makes those cities difficult to walk (first thought LA).

So an evolutionary theory of cities should take into account their environment, whether they are in symbiosis with something else (example: cars) or where they "live", on the top of a hill or in a plain, and which constraints they must obey to (regulations, space, etc).

This is going to be interesting.</comment>


Best books suggestions in one place - <AUTHOR> http://cherrypick.club/ <comment><AUTHOR> Let me know if you have any feedback or suggestions that can help improve this website.

My main motivation was to collect all bill gates reading suggestions into one place.</comment>


Big Tech Has Crushed the News Business. That's About to Change - <AUTHOR> https://www.nytimes.com/2020/05/10/business/media/big-tech-has-crushed-the-news-business-thats-about-to-change.html <comment><USER2> Paywall</comment>