Hacker News new | past | comments | ask | show | jobs | submit | axylone's comments login

I wish software packages had data sheets! It would be great to have a concise/standardized format with bullet points and a "typical applications" section on github landing pages.


Analog Devices and Linear Technology (now owned by Analog Devices) have the cleanest looking datasheets. Texas Instruments is ok but not great. Standard Microcircuit Drawings, the kind of government datasheets used for milspec parts, are absolutely horrendous and should be avoided if the manufacturer has a normal looking datasheet to look at.


Linears are great, I find the AD sheets hard to read sometimes. Microchip historically has some decent ones but it’s been a while since I’ve used their parts.

Datasheets for Japanese connectors are like a circle of hell for me. Confusing and possibly incomplete dimensions, and the drawing usually looks like it was printed, scanned, and converted to jpg several times.


Ugh, I've been using a datasheet from Panasonic [0] recently, and it's been a trip. The original Japanese is all there, with a lackluster English translation below each paragraph. Plugging the Japanese in to Google Translate for the particularly bad sections usually helps. At least this version is clean, I ran across a few PDFs floating around for this part that looked like they had been run though the print-scan-jpeg cycle a few times.

0: https://mediap.industry.panasonic.eu/assets/custom-upload/Co...


Eait until you see Chinese market only parts without datasheets in English, and thenselves mostly done by not so bright engineers of sales offices of Western big semis.


TI's technical reference manuals for their MCUs are some of the best I've used, though. That's not saying much. But compared to Marvell or NXP/Freescale they're really good.


Cypress PSOC chips have a bunch of software modules you can load into them to implement various functionality, and each piece of such software includes a datasheet, just as if it was a standalone chip. It's glorious.


In "Object-Oriented programming an evolutionary approach", Brad J. Cox (the inventor of Objective-C) hoped for the birth of "software-ICs", software components that should have been widely reusable, and documented with the equivalent of the datasheets used for traditional ICs. This was his vision for OOP.


IC datasheets are dominated by the mundane but critical things like timing diagrams and electrical tolerances. Software components can't even agree on which "ICs" fit into which breadboards.


Be the change [pull request] you want to see in the World!

(I hate it when people say that!!)


Well, someone has to do the work. Asking someone else to do it seems kinda crappy if it's you who wants something for nothing.


The problem I have is the sense "you're only allowed to ask for progress or give direction if you code it".

Maybe you're eg a UI/UX expert, you can help plan the direction for a project, feedback the changes needed and why, help make the project a success but just aren't competent enough to code those changes. Sure, no-one owes you their FOSS work, but it seems like we lose something if the only input allowed is from people able to do the coding.

Of course you might also just be a user. If you pay it forward, do you get to make a feature request?? If I don't code it myself ... maybe I should stop being a user if I can't contribute code?

Demanding work for free, and offering suggestions for improvements can be seen as synonymous, but they can actually be vastly different.

Projects I use heavily, like Ubuntu, I try to make myself useful offering advice on forums. That's not putting "money" in the bank of any coders but seems like it's in the spirit of FOSS - contributing what we can to create a better system.

There's always someone ready to exploit others.


I think GP means they hate the phrase 'be the change you want to see in the world' (as do I) but was begrudgingly applying it to pull requests.


There's also Goclipse for Eclipse.


For an excellent sci-fi exploration of using multiple personalities to one's advantage, I highly recommend "Blindsight" by Peter Watts.

His recent sequel, "Echopraxia", has an interesting extension of bicameralism as well.


If the branch is predictable, and the cpu guesses correctly, then it is faster than integer arithmetic.

A branch miss on the other hand is much more expensive, about 14 cycles last time I was testing (on a core i5 desktop cpu from a few years ago).


I use Eclipse as my main IDE for C/C++, python, javascript, go, html, css, etc. I don't understand how some of my office mates don't use IDE's when you have things like:

Show all uses of struct field/function/global variable (ctrl shift h)

Rename struct field/function/global variable (alt shift r)

Jump to definition of anything and back (alt click, alt left, alt right)

Autocomplete for struct fields, etc.

And the best part about it is that I've spent a total of 5 minutes messing with settings, instead of 1 day+ trying to set up ctags and the 50+ vim plugins that would be required to even come close to the same functionality.

It even uses my Makefiles with -j4 so incremental C builds are super fast.


I'm very interested to see what Carmack does. I hope the whole team moves to Valve or something, and this doesn't set back VR another 10 years.


Looks like they also introduced a reference leak on allocation failure:

    @@ -198,10 +198,8 @@
            sslDebugLog("SSLEncodeRSAKeyParams: modulus len=%ld, exponent len=%ld\n",
                    modulusLength, exponentLength);
         OSStatus err;
    -    if ((err = SSLAllocBuffer(keyParams, 
    -                       modulusLength + exponentLength + 4)) != 0) {
    -        CFReleaseSafe(exponent);
    -        CFReleaseSafe(modulus);
    +    if ((err = SSLAllocBuffer(keyParams,
    +                       modulusLength + exponentLength + 4, ctx)) != 0) {
             return err;
            }
         uint8_t *charPtr = keyParams->data;

Note the removed CFReleaseSafe(exponent) and modulus. All other return paths in SSLEncodeRSAKeyParams() call CFRelease(exponent) and modulus.

This is why you use goto fail and not early returns.


What are the anonymous 4096 byte allocations before every read? I would think that killall would read /proc/{pid}/stat directly into a stack buffer, especially if the reads are only 1024 bytes.


I had a quick look. There are 6 calls to malloc in the killall program and several calls to functions like asprintf which will allocate. See my other post for source.


Seattle, WA - ExtraHop Networks - Software Engineers, Testing Engineers, Support Engineers, Sales Engineers, and more.

ExtraHop is a ~6 year old, fast growing startup building network appliances for application analysis. Think HTTP/DB/memcache/NAS/etc processing times for all the servers in a datacenter, all by passively watching the network.

I'm a software engineer at ExtraHop and here's why I love my job:

1. The team is amazing and everyone makes a difference. The two founders, Jesse and Raja, designed and built BigIP v9 when they were at F5 Networks before founding ExtraHop, and are still very much involved in engineering. It's a great working environment and we have a lot of fun.

2. Hard problems at all levels. We parse a bunch of different protocols at 20Gbps by writing high-performance multithreaded C and our own linux kernel drivers. Our datastore handles 200,000 inserts a second with 10MB/s of data. Our UI has a ton of charts and tables, with data going through django and tornado. We use python, C, javascript, flex (slowly moving to a new UI with html5 + javascript), and a modified yacc+bison for some of our protocol parsers. You can hack anything from C to the front-end design and anywhere in between.

3. Our customers love it. It's awesome to see problems diagnosed and solved with our box.

jobs@extrahop.com

http://www.extrahop.com/company/jobs/


oom_adj is depreciated, use oom_score_adj instead.

https://www.kernel.org/doc/Documentation/filesystems/proc.tx...


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

Search: