Hacker Newsnew | past | comments | ask | show | jobs | submit | genop's commentslogin

Any BSD kernel drivers for this?


It's just a USB serial device, so if BSD supports those (and I can't imagine that it doesn't) then it will work. But I don't run BSD so I haven't tried it.


Do authors assign copyright to SSRN? (If SSRN is not trying to turn a profit why would they need an assignment?)

Will Elsevier require copyright assignment?


In the previous Gmail litigation a couple of years ago Google Apps for Education users were one of the classes.

In that case Koh dismissed the 1967 California Invasion of Privacy Act eavesdropping claims because users' lawyers could not show the emails were confidential (see Section 632). However she didn't dismiss the wiretapping/interception claims (see Section 631).

Another element required for an eavesdropping claim is lack of consent.

How are you going to show that the granting of consent was in question for each and every user and was thus a "common question"? Maybe some users read the terms and other did not. Maybe some users paid attention to news reports about email scanning and others did not. See Koh's Opinion.

For those interested search "paulhastings.com" "in re google". There is a copy of the unreported Opinion, with some interesting redactions on the devices Google uses to scan email. Content Onebox, Medley Server, Changeling, CAT2 Mixer, ICEbox Server, etc.

What if users started putting "CONFIDENTIAL", as between sender and recipient, at the the top of all their emails? From there one could argue confidentiality implies lack of consent to eavesdropping.

Apparently Google argued users understand that interceptions are part of how all email, not just Gmail, is transmitted. Intermediary SMTP servers might be "interception" but it seems like a reasonable judge could conclude if a message intercepted says "CONFIDENTIAL" then there's no permission to read it, whether the reading is done by a human or a machine programmed by a human.


Funny you mention that one. I have been re-reading that book the past few weeks.

This book takes a bit of a different angle on explaining computers. I really enjoy the history.

My only complaint would be that I think he has a Microsoft bias (but then I guess I am biased myself).

And similarly, I have a minor annoyance with the OP's mention of Linux, and only Linux, when he touches on calling conventions. This bias toward one system, and ignorance of others, is typical of many websites and documentation. To be fair, the OP mostly avoids it.

To be clear, great explanations of computers to me are ones that either:

   1) take great care to stay completely neutral and only discuss universally shared traits across systems,

   2) go to great lengths to try to be as comprehensive as possible, including many systems and all their commonalities and idiosyncracies, or

   3) focus only on one system and go into great detail how it works.
The more the author strays from 1, 2 or 3, the less likely I am to read their work.

Petzold pays ample attention to Morse code and similar succinct ways of communicating information. In my opinion this type of focus is the mark of a skilled coder. When I look at the entries to IOCC, it is no surprise to me that Morse code is (or at least was) a frequent focus of the entrants.


Counter example: Volkswagen diesel case, Judge Charles Breyer

All litigation should follow this model. No delays, and transparent to the public. No PACER account needed.


Amen.

How could they ever understand "simple and easy"? Their concept of simple is not based in reality.

There seems to be this idea (I wish it had a name) that one can just apply a new abstraction layer and the lower layers magically disappear or are rendered insignifcant.

And of course producing 100's or 1000's of pages of "documentation". This is disrespectful toward the reader's time. The best documentation is and will always be the source code. If I cannot read that, then for my purposes there is no documentation.

This is not to say some of these old new thing higher-level of abstraction solutions do not work well or are not easy to use or do not look great. Many people love them, I'm sure. But until I see more common sense being applied it is just not worth my time to learn. I would rather focus on more basic skills that I know will always be useful.


Serious question: What is stopping you from going back?

I'm naive but curious and I do not want to make guesses.

I wonder how are we going to preserve knowledge about programming from first principles if, under pressure from corporations and lazy peers, no one does it anymore?


It's mostly that I got 'stuck' with iOS. Once you specialise it's hard to get out. If I change jobs now for anything other then iOS, I have to take a pay cut and I need to find someone that will hire me without any previous experience in... embedded, for example.

There are also a lot more of this 'poking' jobs when compared to first principle coding jobs. Specially for someone like me who never worked for huge corporations.


Not _that_ hard. Gradual transition should work.

If you like videogames, learn some OpenGL ES, apply to mobile game development position, if you’ll like the area, you’ll be able to continue career developing games for other platforms. If you’d like to move to MS stack, learn some .NET, then look for Xamarin iOS jobs, you’ll be able to continue career developing .NET for Windows. If you enjoy hacking, seek a job in a company that makes UI test automation tools for iOS, or iOS-related security software.

You already have experience dealing with all those iOS weirdness, you might be able to minimize or even negate that pay cut.


I think nowadays the most important business in a company is to built things atop fundamental things. For example, we build apps atop Cocoa, web atop ror. That is the business stop us from going back.


The YouTube API used to be open too - no regstration or authentication. That ended years ago. I don't really need an "API" to do searches and transform the results into a more useful format than HTML. These API's make it easier and are addictive, for sure. It's foolish to rely on them however.


Internet Archive has an HTTP header called "X-Archive-Wayback-Perf:"

I can guess what it means but maybe someone here has some insight?

It certainly looks like their Tengine (nginx) servers are configured to expect pipelined requests. It has no problem with greater than 100 requests at a time. See HTTP header above.

Downloading each snapshot one at a time, i.e., many connections, one after the other, perhaps each triggering a TIME_WAIT and consuming resources, may not be the most sensible or considerate approach. If just requesting the history of a single URL, maybe pipelined requests over a single connection is more efficient? I'm biased and I could be wrong.

However their robots.txt says "Please crawl our files." I would guess that crawlers use pipelining and minimize the number of open connections.

I have had my own "wayback downloader" for a number of years, written in shell script, openssl and sed. It's fast.

IA is one of the best sites on the www. Have fun.


"And no good book is as good as disassembly output."

[x] Strongly agree [ ] Agree [ ] Neutral [ ] Disagree [ ] Strongly disagree

For me, C, i.e., GCC, is most useful as a faster way to generate assembly for a particular CPU than typing it out from scratch. I use GCC as a code generator. I'd like to see more free asm code generators, but I am not holding my breath.

I do appreciate C as a medium for distributing reasonably efficient software.


I don't really understand what this means. How is that different from how anyone else uses a compiler?


I think he means that he works like this:

1. Write some C

2. Dump the corresponding assembly code

3. Modify the code by hand


4. Assemble

5. Load into assembly debugger

6. Learn

There is "C", the language, which can be relatively simple. Or hopelessly opaque depending on the author.

I think of C the language as just a shorthand for assembly. Only because that's how I use it.

http://www.lysator.liu.se/c/bwk-tutor.html

But then there is "C" in practice: the specifications, the "standard" libraries, preprocessors, Makefiles, autoconf, etc.


But what would qualify as an "asm code generator" if not a compiler? There are other free compilers. Clang comes to mind.


Let us see... in my day, we called an "asm code generator" an assembler... anyone remember MasterSEKA, Devpac, TRASH'M-One and ASM-one?


  1. Program that reads some input (e.g., C language) and generates asm and/or opcodes.
  2. Program that reads asm and/or opcodes and generates binary numbers ("object files").
No. 1 is what I need. No. 2 is what I call an "assembler". Although terminology means less to me than what a program actually does.


2. is also what I learned as "assembler": a program which takes ASCII source code (written in a language we call assembler), and assembles that source code directly into a binary executable (no linking).

So, back in the day (and still for me, always):

assembler: ASCII source code in assembler language -- "which language did you code that in? - Assembler."

assembler: the integrated development environment (such as ASM-One) which produces executable machine code straight from source, with no linking step in-between; also known as a two-pass optimizing assembler.


No. 1 is literally the exact definition of a "compiler". I still don't understand the distinction you're making.


That's because it is a compiler.

No. 1 is a program that accepts input (e.g., RTL, MINIMAL, etc.) and generates asm.

I like to call this an asm code generator. Because today when people say "compiler" they are often referring to a collection of programs, some of which do not generate asm.


I see. So you are excluding the preprocessor, linker, type-checker (for some languages this is a separate program), assembler, etc.?


Yeah. I'm sorry about the terminology. I guess I just like the term "code generator".

When I use that term I envision simple filters that take ASCII input, maybe even some sort of "template", and transform it into some other format that's useful. Ideally, asm. But not always.

For example, in GCC, for x86, there's a couple of programs that operate on i386-opc.tbl and i386-reg.tbl. I would not call them "code generators" but I suspect they are needed in order for "gcc -s" to work.


Spitbol has one.


As in thinking in terms of what assembly you want the compiler to produce, and not trusting it to do so. Whereas people that program in higher level languages tend to think mostly in terms of the language semantics.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: