HN user

davidhollander

996 karma

.

Posts25
Comments224
View on HN
www.youtube.com 13y ago

Rep. Amash (MI-03) Discusses His NSA Amendment to DoD Appropriations

davidhollander
1pts0
www.youtube.com 14y ago

How It's Made: videos of the manufacture of everyday objects

davidhollander
4pts0
www.forbes.com 14y ago

Cevin Soling: Why Public Schools Must Be Abolished

davidhollander
2pts0
blogs.wsj.com 14y ago

Russian Social Network Refuses to Block Kremlin Protesters

davidhollander
4pts0
www.digitaltrends.com 14y ago

Lying on the Internet could soon be a federal crime

davidhollander
2pts1
plus.google.com 14y ago

Linus Torvalds creates G+ page for Linux release announcements

davidhollander
97pts6
chrome.blogspot.com 14y ago

MS Security Essentials deleting Google Chrome as Malware

davidhollander
1pts0
velsheda.lateralis.org 14y ago

Google also fails on standards

davidhollander
3pts1
www.australiangeographic.com.au 14y ago

Escaped Pet Parrots Teaching Wild Birds to Talk

davidhollander
6pts0
web.mit.edu 14y ago

MIT Researchers Create New Tiny Energy Harvester

davidhollander
2pts0
bitcoin.stackexchange.com 14y ago

Will Deflation Destroy Bitcoin?

davidhollander
3pts1
awesome.naquadah.org 14y ago

Awesome Window Manager

davidhollander
1pts1
technolog.msnbc.msn.com 15y ago

Syrian government unplugs Internet for much of country

davidhollander
2pts0
releases.ubuntu.com 15y ago

Ubuntu 11.04 has been released

davidhollander
2pts0
en.wikipedia.org 15y ago

Contrarian Tropes in Journalism

davidhollander
1pts0
www.reuters.com 15y ago

US did not deliver coolant to Japan nuclear reactor

davidhollander
2pts0
www.apple.com 15y ago

Steve Jobs: "It's not a case -- it's a cover."

davidhollander
3pts0
publicintelligence.net 15y ago

HBGary Windows Rootkit Analysis Report [pdf]

davidhollander
14pts4
torrentfreak.com 15y ago

Google Gets Involved in Bittorrent Search Lawsuit

davidhollander
22pts2
www.libyafeb17.com 15y ago

Video and Audio recordings from inside Libya

davidhollander
3pts0
tools.ietf.org 15y ago

Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0)

davidhollander
60pts10
news.cnet.com 15y ago

Justice Department Seeks Mandatory Data Retention

davidhollander
2pts0
www.physorg.com 15y ago

Cyborg Beetle Developed by DARPA

davidhollander
3pts0
docs.racket-lang.org 15y ago

Writing a Dynamic Web App with Racket (Scheme PLT)

davidhollander
2pts0
lua-users.org 15y ago

Lua Coroutines vs. Python Generators

davidhollander
6pts2

I've implemented pure LuaJIT servers (without libuv) which compare favorably to nginx in terms of latency and performance. But you should consider whether or not you will need SSL\HTTPS support. libuv is only an IO loop and will not provide this out of the box like nginx. Encryption is important and non-trivial. Most of the projects I've seen end up back at C and embedded Lua\LuaJIT (similar to OpenResty) rather than writing bindings and tests for SSL in the LuaJIT FFI because of this.

SteamMachines 13 years ago

Linux has natively supported xbox 360 controllers through the xpad kernel driver for a number of years, and Windows asks to install drivers when you plug in the controller.

SteamOS 13 years ago

but let's say something like X. Or your average window manager. Or, say, almost anything from GNOME.

This doesn't apply to embedded Linux, or Linux for servers, which could be argued to be just as "traditional" a use case as Linux for desktops.

Additionally, for the desktop use case, nearly every distribution uses a different window manager anyway. There are such a wide variety of window managers, I wouldn't know how to compute an "average" between them in a meaningful way. Although I use Linux for a desktop everyday, I don't have GNOME installed, and I would barely notice if X was missing and replaced by Wayland or a different component.

I think it's misleading to read "Linux" and imagine "desktop GNU/Linux with all the trimmings."

Right. It's not Linux for the desktop, or Linux for the phone, or Linux for embedded devices, or Linux for servers, it's Linux for the living room. My point is that due to the diversity of the Linux ecosystem, there really wasn't such a thing as a "traditional" or "average" Linux Desktop in the first place, and that we can't even say Linux for desktop is the "traditional" or "average" use of Linux. Anything running the Linux kernel should be able to call itself Linux, without qualification.

SteamOS 13 years ago

What are your definitions for "traditional Linux userspace software" and "traditional Linux users"? Do you consider Android to be "Linux"?

Unless you have lots and lots of time to spend micro-optimizing everything, you'll get better performance writing in Haskell.

This is stating the case too strongly. Performance wise, the naive, unoptimized solution in Haskell (ex. using the default String type instead of Data.ByteString, number crunching using lots of iteration\recursion) is going to be much slower than than the naive, unoptimized solution in C or Lua. However, for a given subset of the range between "zero" and "micro" levels of optimization, for a given problem, Haskell may still represent the local maximum.

In a multi column layout, I might wish to alter the width of the web browser in the primary column somewhere between 30% to 68%, in 2% increments, by simply tapping [Win+L] to increase its width, or [Win+H] to decrease its width, without worrying about whether it is the focused window, and without worrying about having to focus or adjust any other window after the keystroke was made to prevent overlapping.

If you want a layout where a web browser takes up 60% of the width, and two terminals take up 20% of the width, it becomes not only possible but relatively easy.

I have found cascading to be an unhappy medium in the past. In awesome-wm, I'll tap [Win+Space] to toggle between 100% overlapped (fullscreen with unoccluded task bar) and 0% overlapped (multi-column horizontal). [Win+J] and [Win+K] cycle windows. [Win+H] and [Win+L] resize the width of the primary column in a multicolumn layout.

So let's say I have a terminal window with VIM, and a web browser with a tutorial or documentation open up to the left of it. I quickly need to scroll the web page down to continue the example, BUT the VIM window is currently focused. Assuming the web browser can be scrolled using [J] and [K], I'll simply tap [Win-K, J, Win-J] to accomplish this task while avoiding modifying the layout or leaving the home row to use a pointing device. If I don't actually need to display multiple columns at the same time, I just press the change layout key to stop using a multicolumn layout.

So as a VIM user I've been very happy with this setup in awesome-wm for the past 2+ years, but if you wish to recommend an alternative I will definitely give it an install.

edit: I was able to write a new layout function for awesome-wm which implements diagonal cascading in the manner you described and retains my keybindings. I definitely agree that cascading makes it bluntly obvious which window is the currently focused one. I'll have to play around with it more.

To me the most important factor for developing on a laptop mentioned in the article is the use of a tiling window manager.

For me an incredibly common task in web development is to have a web browser and 1 or more terminal windows tiled horizontally, side by side, in an [ A | B ] or [ A | [ B | C ]] configuration, where A is a web browser, and B and C are terminals.

In order for this to work for me on a screen resolution <= 1920x1080, the ratio ( width of A ) / ( width of screen ) should be dynamically adjustable using a single key combo, without causing window overlapping. If this ratio is fixed, and cannot be dynamically adjusted by the window manager, I experience one or more of the following problems at any given moment:

1. the web browser window is too narrow, causing wide documents to be clipped and a horizontal scroll bar to appear.

2. A terminal window is wider than 80 characters, causing unnecessary screen area to be consumed which could be better allocated toward the web browser.

3. A terminal window is less than 80 characters in width, preventing the entire line of code from being displayed.

To me Linux is the ideal laptop OS because it's the easiest OS to install a tiling window manager on, and a tiling window manager is what maximizes the platform's primary constraint: small screen area.

I think this page supports your assessment:

http://www.google.com/ideas/projects/arms-visualization/

"Global illicit networks — from drug smuggling and arms dealing to human trafficking and organ harvesting — affect millions of people across the world, generating over $2.1 trillion every year. Existing, publicly available information about illicit networks is often not presented in a format that allows the patterns of trade to be easily understood. Applying the power of data visualization to this information can enable a greater understanding of the underlying mechanics of these networks, which in turn can lead to much more targeted and effective efforts to counter them."

This paragraph makes it sounds like they are interested in illicit activity in a general and abstract sense and are considering participating in the War on Drugs.

Anonymous Callbacks != Callbacks

Callbacks have been around forever in C using named functions, and are not specific to either the current generation of programming languages or programmers. One can still use a named function instead of a locally constructed lambda to represent a callback in a high level languages.

The primary difference is that when declaring named functions non-locally, one must explicitly share state through the parameter rather than implicitly sharing state through lexical scoping. It seems more accurate to label the problem of nesting lambdas to the point of ambiguity as "Lambda Abuse" or "Lexical Scoping Abuse" rather than "Callback Hell".

The vote was over whether to add the following ammendment to the DoD appropriations bill:

None of the funds made available by this Act may be used to execute a Foreign Intelligence Surveillance Court order pursuant to section 501 of the Foreign Intelligence Surveillance Act of 1978 (50 U.S.C. 1861) that does not include the following sentence: ‘‘This Order limits the collection of any tangible things (including telephone numbers dialed, telephone numbers of incoming calls, and the duration of calls) that may be authorized to be collected pursuant to this Order to those tangible things that pertain to a person who is the subject of an investigation described in section 501 of the Foreign Intelligence Surveillance Act of 1978 (50 U.S.C. 1861).

http://amendments-rules.house.gov/amendments/AMASH_018_xml27...

The ammendment's author (Justin Amash) discusses what this means here: https://www.youtube.com/watch?v=CIqJcQR0im8

Start by deciding whether you want to target a single platform or a list of multiple platforms, and then choose whether you want to work with 2D, fixed pipeline 3D, or programmable pipeline 3D.

For single platform 2D, research the platforms standard development kit. For cross-platform 2D, find a library exposing an API supporting all available platforms[1]. For cross platform 3D, create a list of hardware you wish to support and find the maximum common OpenGL\GLES version and GLSL shader version.

This should give you an idea of the graphics API you will be working with and need to learn.

[1] http://www.libsdl.org/ is one such library if you go this route, I believe it's used in Angry Birds and Valve's Linux port of Steam.

There are an estimated 12-27 million people currently in slavery[1]. With a current world population of 7 billion, this proportion is between .0017 and .0038, a dramatic decline, and probably the lowest in history.

Regarding incarceration in the United States, despite a 10X increase in population from 31.4M to 311.8M and mandatory sentencing policies associated with the War on Drugs, the absolute number of Americans incarcerated in 2011 (2.2 million) was still less than the absolute number of Americans in slavery alone in 1860 (3.9 million).[2][3]

If you wish to move on to economic issues and contend there has been no progress in living conditions, a point the author of this article does not argue, I would challenge you to produce some actual metric and numbers for a similar period of time (after the dawn of philosophical liberalism) showing the average worker to be no better off, keeping in mind the enormous increase in life expectancy and GDP per capita which has occurred.

[1] http://en.wikipedia.org/wiki/Slavery [2] https://en.wikipedia.org/wiki/1860_United_States_Census [3] https://en.wikipedia.org/wiki/Incarceration_in_the_United_St...

Whatever one's thoughts on the article in its entirety, the initial implication that the thinkers listed could not account for Herzen's fish is disingenuous.

Helvetius (one of the listed):

"The free man is the man who is not in irons, nor imprisoned in a gaol, nor terrorized like a slave by the fear of punishment ... it is not lack of freedom, not to fly like an eagle or swim like a whale."

If freedom refers not to the biological limitations and fundamental nature of man, as the author repeatedly asserts during the construction of their straw opponent, but refers to whether man is in chains, then it becomes possible to generate empirical measures demonstrating "progress" in terms of freedom:

At the beginning of the 19th century, serfs and slaves made up 3/4s of the world's population.

sent people to their deaths, directly profited from it, and will continue to profit off any future militaristic endeavors the US pursues.

This would remain a valid example of moral hazard even if Cheney had been drafted and experienced combat in Vietnam. The draft was one of the reasons the Vietnam War was so unpopular, avoiding it could be construed as an act of civil disobedience. It's not an essential part of the argument.

For information which functions as advertising to also be a candidate for fraud it must first assert something as fact.

There are many forms of advertisement which do not assert facts or even include language. An advertisement could simply consist of a graphical fictional portrayal of consumption or brand usage done in a glamorous light.

If something does not include a representation of facts, it does include a potential for fraud, and it would not make sense to regulate it as such solely on a principle of equivalence.

The counter-argument is that advertisement is speech, even if it is undesirable, and that speech is information.

Parents who do not wish their children exposed to advertising could use the same rules they would use to prevent their children from being exposed to violent media and profanity.

I think the solution is for parents to simply start thinking of media portraying drug consumption and media portraying Twinkie consumption as logically equivalent, and for parents to stop paying for an information service to deliver them such media (television), and to demand the market provide a new information service which more adequately matches their preferences for media (a kid-oriented Netflix?).

This solution does not require a state to monitor and decode the nutritional value of information transfers.

USD is only one currency. There are many places in the world where banking in and holding only USD would be impractical, and where banking in and holding only local currency would be higher risk.

Bitcoin doesn't have to be intrinsically "superior" to USD for rational agents to use it as a store of value. It simply has to hedge current assets against a non identical set of risks.

> "real" communism, one which is say, managed my an AI, with no one small group of humans in power, is probably going to be fair and equal.

Any rational agent, whether biological or artificial, A) possesses a set of preferences, and B) seeks to maximize its preferences. If an AI obtains its set of preferences for maximization from a group of privileged programmers or creators, then a small group of humans is still in power in your scenario. If the AI is responsible for deriving its own set of random preferences, then it is effectively operating as another individual in society with no deterministic guarantees on behavior, and to grant it governing authority is equivalent to unchecked dictatorship.

    > It has an obligation to actually protect its citizens
Perhaps you can claim agents acting on behalf of the state have a metaphorical obligation to protect citizens. But they do not have a literal, legal, or contractual obligation to do so in the majority of circumstances:

http://en.wikipedia.org/wiki/Warren_v._District_of_Columbia

http://en.wikipedia.org/wiki/DeShaney_v._Winnebago_County

http://en.wikipedia.org/wiki/Castle_Rock_v._Gonzales

The Worst 14 years ago

> I could buy one of the world's most powerful supercomputers if I were rich enough, but I'm fine with my MacBook Air.

A world class supercomputer isn't the same category of good as a MacBook Air. Most laptop owners would feel worse off in some aspects of the trade, as they would no longer have a portable computer to travel with.

If a Macbook Air nets you the most personal utility from a portable computer, as opposed to a 2003 Thinkpad, your ownership could be used to support rather than negate the "best or worst" heuristic.

A better example to support your position would be if you owned the 2011 model instead of the 2012 model of the same laptop. You could declare ownership of the newer models always nets you greater utility, but that upgrading every year isn't worth the opportunity cost, and that it would be silly to find "the worst" laptop to downgrade to every-time you decide to forego an upgrade.

> They are merely useful abstractions

Why are things which are useful and abstract of lesser value than things which are non-useful or non-abstract? Can you give an example of a non-abstraction using your definition of abstraction?

> a lot of things in society don't actually exist

For what reasons should someone accept your personal ontology regarding what exists and what doesn't exist as the objectively correct one?

> Even without limited liability, it's just not really illegal to pollute. If your pollution increases my risk of lung cancer by 250%, that is something that has a cost. You can put a dollar value on that statistical probability. But you can't sue over it, because by and large outside of medical malpractice it's nearly impossible to sue for statistical injuries.

Bodily harm is not the only form of harm for which one may be liable. Repeated dispersal of unwanted waste upon other's property could be considered property damage, even if the waste cannot or has not yet caused exposure related medical conditions upon their person.

In an alternate legal context, a society might decide that proving an ash residue repeatedly collected on your property matches ash repeatedly emitted by a factory is sufficient grounds for property damage litigation without requiring you to also prove bodily harm. However, this would raise costs on industry by requiring them to be located further from residential areas.

Different societies will arrive at different tradeoffs and balances on these issues through the use of non-market forces, which will influence the incidence of negative externalities as much as market forces.