Forgot your password?

Comment: Re:Selection bias much? (Score 1) 177

by pentagramrex (#46944307) Attached to: Programming Language Diversity On the Rise

Yep C++, C, Objective-C, and C# are not popular?

Not by a number-of-new-projects metric. They're popular in the "build a giant flagship product" world, but by sheer number of projects, I'd expect them to be pretty small. They're not the kind of language where you can just slap pieces together and do a job, like Ruby, Python, or Perl tend to advocate. Rather, they're elegant for larger projects. A comparison by lines of code would show the C family in a much more favorable light.

CSS is a programing language?

Yes. It's not Turing-complete, but it's still a language for defining instructions.


You can slap projects together easily in c# and c++.

C++ is my favorite scripting language because it has good debuggers on all platforms.

Admittedly C++ isn't the language of choice for slapping together a webpage, on the other hand it can do that and outperform anything else.

C# and C++ have years of broad libraries behind them.

Choose the tool for the job, but don't neglect the ones that have real substance (I'm looking at you, PHP).

BTW, Github is no measure of what people are doing, even if it hosts some cool projects. Most of my stuff is for companies I work for, and you can't see it online, as is most code. The most important open source projects don't live there either.


Comment: Re:Code. (Score 2) 111

by pentagramrex (#45821009) Attached to: Intel Releases 5,000 Pages of Open-Source Haswell Documentation

Documentation is ONE PART. It says what the design was supposed to be like.

Then you have errata and variations - when some of the hardware doesn't correspond to the documentation and acts differently.

Then you have examples - where someone shows you how to, e.g. draw a simple triangle using the documented opcodes and all of the boilerplate and set up necessary.

And then you have actual working code. Where you give away, for example, a complete implementation that conforms to a higher, standardised API and issues instructions to the hardware to perform those actions.

Out of all of those, documentation is the easiest thing to do. You can just (for example, just flicked through a PDF from that site) say that instruction X transposes a matrix. No idea of performance, whether that's the recommended way, what it contends with, how it works, whether the Intel drivers use that themselves, whether it's a legacy function, whether it has huge constraints on its use.

Without some code, it's all just fancy tech sheets. Sure, better than nothing, but a long way from actual co-operation. I'm not saying Intel don't co-operate in other areas, but documentation like this? That's the "quick reference" stuff for when your thousands of lines of existing example code don't act like you expect when you tweak them and you look up what that operand is supposed to do and how.

Put a hardware driver author in front of a documentation pack and a compiler, and tell him to write a driver, and he'll tell you to fuck off.

Put a hardware driver author in front of many working examples of device, with debug-level access, with example source (that he can't just copy due to licensing), errata, a direct line to cooperative hardware engineers AND this documentation and he'll start.

This is why I've never been that bothered by documentation releases, or even unmaintained source-drops. Supposedly Broadcom did something similar for the RPi's graphics chips. I think we're still waiting on anything that's not a binary driver there. And we have this sort of stuff for some ancient 3D graphics cards - it's just not as easy as reading it all and then sitting down to write a driver.

Intel, nVidia, ATI: Give us drivers with code that have no reliance on "black box" information/code, and we'll be happy. Until then, it's just lip-service. And you know that. That's why you don't release this kind of stuff for graphics chips, and nor does anyone else. Because you can drop this in someone's lap and years later STILL end up being pestered to the ends of the earth for an open-source driver (or assistance to help write one) because it doesn't exist.

Code is a lot more than writing things to perform a protocol described in the documentation. If only it were that easy.

It's been a few years since I worked in hardware, but even when you build it for a commercial company; not open source, you don't get the things you (poster) think are important.

In the past I found AMD far more helpful than Intel, and I was building high end workstations then (Motorola and MIPS based, but lots of AMD chips). MIPS and AMD at least gave you the documentation for free if they thought you were serious: that was LOTS of thick books. Sometimes they helpd you figure out if things didn't work properly.

If you are in a small company, even when you buy a reference design kit you don't get any help. you have to work it out for yourself, even if there are some errata sheets. No properly working drivers for the reference design. No source.

These days I'm glad I have a little company in China making our boards, that while being a bit clumsy are very fast to fix things. Things get broken as quickly.

I'm even more glad that there are less complier bugs than I had to deal with on Microsoft compliers, or GNU on obscure ARM architectures I tore my hair out over.

Luckily I have a lot of hair.


Comment: As an old timer (Score 1) 441

I am 46 and have been programming for money since a young teenager, but I studied electronics. I have made my own computer boards from chips, and done a bit of designing with bitslice (make your own cpu from complex chips). I am competent or better in a few languages. I am starting to appreciate that C# is better than Java in many ways, but I prefer C++. A bit of javascript or phthon doesn't scare me; I'd have to take a weekend off to remember Lisp or FORTH properly. Right now I am cleaning up the mess from developers from China. They have done very clever things, but also very broken things - that hang the whole computer. Too much doing the latest cool thing, not enough KISS and experience. It isn't that they aren't smart people, it is because outsourcing makes them not care that it gets the job done - you can get the same experience at home. The Chinese and Indian outsourcing is getting more expensive. Good developers who are close to what matter is why I still feel secure in my job. It isn't paying a superstar salary, but it is decent. This is a small company. I hope if I make it work as well as I can I'll have a team under me again. The sales guys here seem good - you need them to grow the company, and to have a mutual trust with them.

Comment: Re:Missing option (Score 1) 525

by pentagramrex (#42008037) Attached to: My relationship to military service:
Your legal system seems like a kangaroo court even compared to the flawed system in England. (Not saying the UK as Scotland has it's own system, Wales uses the English system due to the French who took them over just after us - different world then). To elaborate, the expense and plea bargaining fails anyone who isn't very rich. The fact that you lock up more people than anywhere including the Chinese says too much. Having said that I have found the USAan police to be much more polite and respectful than ours.

Comment: It isn't like this (Score 1) 333

I have a degree in electronics. In the UK. Unfortunately it doesn't get professional status as things like law do. Nobody cares what institution you are affiliated to. I am more a software person now - C++ and maybe c#. I'd prefer microcode to x86 assembler. Java seems to be getting worse than VB6. I say I play with computers for a living, or just I write software.

Don't hit the keys so hard, it hurts.