HNHacker News
TopNewBestAskShowJobs

emcrazyone

687 karma · joined August 12, 2014

submissionscomments
emcrazyone··on A History of Commodore’s 8-bit Computers
ah, you're right. The movie theater I saw the movie at had a contest at the same time. Fill out a form, drop in a big decorated box, and if your name was drawn you won a C64.

The contest was, if I recall correctly, tied to the movie. Like, win a computer "like" the one Matthew used in the movie War Games.... or something along those lines.

My friend and I took home a stack of those forms and filled out at least 100 (probably more) but we didn't win.

Fun & memorable times. Thanks for the info on the IMSAI.

emcrazyone··on A History of Commodore’s 8-bit Computers
I have to imagine that the movie War Games starring Matthew Broderick helped spur sales. After seeing that movie, I had to have a commodore computer ;) That movie, alone, changed me. I was an eletronics geek and after seeing that movie, I knew the future (for me) was computers.
emcrazyone··on Show HN: Demo of Wiki and Forum coded in C under 80k
It is relatively easy. I've done it myself many moons ago.

I've followed Steve off and on over the years. He seems to prefer C++ as a web-app language so much so that he blogs about it and other things. I like his stuff. I discovered Steve through Joel On Software some years ago. If memory serves me, I think at one time he was publishing a Web CMS type engine written in C++ but I could have him confused with someone else (been awhile)

Here is his site: http://stevehanov.ca/blog/index.php?id=95

emcrazyone··on Show HN: Demo of Wiki and Forum coded in C under 80k
I think what the OP meant was no 3rd party library dependencies such as a CGI library and that he's still dependent on OS system calls such as file I/O and sockets.
emcrazyone··on Yahoo CEO Marissa Mayer Faces Morale Challenge
No, I have my own hosting company. It is not related to the Fortune-5 I was speaking of. To clarify, I own an IT consulting company and I have been on contract with the fortune-5. I supply contract heads else where too - H1Bs.
emcrazyone··on Yahoo CEO Marissa Mayer Faces Morale Challenge
I own my own company. In fact, I own two companies.

One of my customers is a fortune-5. I am contracted and I have a small team that I manage within.

If I must explain, I'm a serial entrepreneur. I've owned 3-4 companies in my past including a cable TV company too. It would be more accurate to say I have my hands in many things with not much time on my hands.

THe fortune-5 company is an automotive company genius.

emcrazyone··on Yahoo CEO Marissa Mayer Faces Morale Challenge
"Yahoo has huge traffic from extremely loyal users who are mostly in the higher income (30+) age range."

Is that statement a fact? If so, care to substantiate it.

I work for one of the largest companies in the world and we no longer use Yahoo; we use too. Every year in the US, the Superbowl pulls in HUGE dollars in advertisements. I have to plan for this every year and have been doing this for the past 10 years.

Around Superbowl time, we increase our public facing web server presence due to the increase load. It use to be that Yahoo represented more than 50% of the clicks but that is less than 10% as of last year.

I work for a fortune-5 company. We use Akami to help distribute the load. I wish I could publish more info like the data and the company but unfortunately I'm not legally permitted.

I will say this: I doubt Yahoo Ad revenue will return at least from my perspective and what I've seen over the past 7-10 years. More and more of our Ad refs come from youtube.

emcrazyone··on Slackware Live Edition
I run an entire data center of Slackware Linux on Dell servers. My entire EMail and Web hosting platform is Slackware. I have ~30 Slackware Linux boxes. My installs are very stripped down. I.E. I don't install any of the KDE, Gnome or X stuff. I also remove the games and many of the stock applications that ship with Slackware.

I hate Ubuntu, RedHat, etc... Everytime I use them, I feel like I'm fighting the GUI. Ubuntu, for example, I could never figure out how to change the IP address without using the KDE GUI. On Slackware it's as easy as editing /etc/rc.d/rc.inet1.conf

I resist Ubuntu, RedHat, etc... because it forces you to become familiar with that distro's way of doing things. And there in lies the rub. As more and more distributions of Linux come about, I see a fragmented Linux world.

So, in short, I guess you could say I stuck with what I learned and know from years back. I know that at start up, the stuff inside /etc/rc.d/inet1.conf are parsed and fed to ifconfig for static IPs.

my 2 cents...

emcrazyone··on What is a coder's worst nightmare? (2014)
ah good question. It was very, very difficult to pin down. We knew our compiler was the same on both computers and compiler flags were all the same. The two machines were purchased at the same time and we knew everything about them was the same.

We used something called a Pharlap DOS extender so our software could use beyond the 1MB boundary. It was in fiddling with that memory extender that I began to suspect a memory failure. Changing it's parameters eventually got me to fairly repeatable way to get the issue to show up not only in my app but in 3rd party software began failing too. Also, while we mostly did our work from a DOS prompt and a DOS editor (called qc) we would sometimes run Windows (Windows 3.11) which had it's own way of accessing Expanded vs. Extended memory through a DOS driver. So by swapping between the Pharlap driver and the Microsoft config.sys driver did I begin to suspect memory failure. In other words, the machine became more noticeably more unstable.

I don't recall the exact name but I began running something like memcheck on the computers. Basically a memory checker and although it did not reveal the problem in its entirety, the memchecker would crash on my machine and not any of the others. These were computers running just DOS with Novell Netware network drivers for DOS/Netwware only.

I reasoned that memory was failing before the memory walker/checker was getting corrupt. When I swapped main memory with another computer and the problem didn't follow the memory, my only other option was to pull out the L2 cache chips. When I put them in the computer next to mine, and finally saw the problem show up there I knew.

My friend owned the computer company that sold us the computers and he later was able to test and validate my findings.

emcrazyone··on What is a coder's worst nightmare? (2014)
I was hired by a bookie ;)

I have a somewhat related story. Circa 1995 or so, I was working on software compiled on a 486DX computer. Back then the computers had L2 cache in SDRAM chips you plugged into the motherboard.

I was moonlighting with a few guys to develop software and each night myself and two friends met up in office we were renting. There, on one of those fold out tables, we toiled away each night writing code.

The code we worked on was for off shore gambling (aka a bookie). Back in the 90s you could walk into a convenient store and pick up an magazine; usually autotrader magazine. On the back was an 800 number you could call to place bets on football, hokey, or baseball. (Called HOBs bets in the industry).

Anyway, because of the nature of the software and the people we dealt with, things were a bit hairy at times. The bookie we worked for paid us generously but, at the same time, expected perfection (i.e. software that just worked).

One evening, as usual, the three of us met to work toward the next release of the software. The next release of the software was to include a feature for boxing bets. Mike Tyson was about to be release from jail and the bookie was anticipating various future business in taking boxing bets.

So this one evening we were doing a software build to release as beta software. I did the software build and ran a battery of tests we normally run and all worked fine. To transfer the software to the offshore network we used a dial up connection.

I pushed the software out which my bookie contact would run and make sure all the logic was correct.

A few days go by and we get a phone call that the software is not functioning. Sometimes it crashes (which was rare) or sometimes just strange things would happen such as strange blinking characters on the screen.

I collected enough information to try and replicate the steps necessary. You can imagine my customer wasn't too happy. So the three of us basically stopped working on the code to track down the bug. We spent a week looking for the bug we were sure was in the code somewhere. Back then we didn't really use a code repository but we did have a diff of the beta release and previous release.

Pouring over the code changes we just could not find the problem. It even got to the point where I would recompile the beta version, run it, and could actually get the code to crash. Comparing to earlier release it would not crash.

It was by chance that my fellow coder, sitting right next to me, started running similar tests on his machine while I was off making a food run. It was sort of normal for us to group up around my workstation when something needed a collective look.

Long story short it turned out that one of the L2 cache chips was causing my compiles to become corrupt in just the right way to cause the code to be not as we typed it in.

Anyway, thought I'd share. Although not a malicious act, it was one of the worst things to track down. Fast forward to my current life... I work in the embedded field and recently solved a bit-flip problem in one of the products my company produces that relies on NAND memory. That little incident from my past certainly has served me.... ;)

emcrazyone··on NASA Adds to Evidence of Mysterious Ancient Earthworks
The Discovery (or History) channel, I forget which, has a facinating series of shows on Ancient Aliens.

This story reminds me of a story in the above mentioned series about a group of researches who appeared to have been killed by some force in Siberia. Upon further investigation, there appears to be some domes buried in the ground in Siberia.

The domes are theorized to have killed the researchers. In the show, they said an autoposy was done and some of the researchers were killed from the inside out. In other words, there was no visible trauma to their skin but their rib cage bones had been shattered.

http://www.abovetopsecret.com/forum/thread544351/pg1 https://soipost.wordpress.com/2013/12/29/what-is-the-purpose... http://www.utaot.com/2013/02/27/scientists-prove-ancient-ali...

I don't get much of an opportunity to talk about these things at work or within my family. They think I'm nuts. But this really fascinates me too.

emcrazyone··on What is Electricity?
Lol, so if it's on Wikipedia it must be true and accurate. Nice. Hey, if it's on the Internet then it must be true.

I think it is reckless. A lot of young up and coming engineers perhaps use sparkfun for their high school electronics work might read this and come away with incorrect understanding of things making new material confusing or longer to understand.

emcrazyone··on What is Electricity?
What proof do you have the article wasn't written for physicists, engineers or anyone else so technically trained?

This is the basis for not agreeing? If it is, then it seems you drew an assumption then formed an opinon that is contrary to many college level courses, texts, and teachings I've sat through where electricity is carefully described as the force alone.

emcrazyone··on What is Electricity?
Couldn't read much past the statement:

"Electricity is briefly defined as the flow of electric charge, but there’s so much behind that simple statement"

Electricity is the force not the flow. The flow is the current. The term, "Electricity" in every college course I had on it in getting my degrees is always the EMF (Electromotive Force).

Sorry to nit pick but I just have a real problem when articles are written from sense of authority (An electronics company) and don't get the details correct. It can kick off a cycle of incorrect learning and confusion if you're relatively new and getting into electronics.

emcrazyone··on Signs of Liquid Water Found on Surface of Mars, Study Says
"All equipment leaving Earth is sterilized"

Should that read all equipment leaving Earth from the United States? Do other countries with developing space programs adhere to the same practices? Does the US have agreements with other countries to make sure we're all on the same page so to speak?

emcrazyone··on Zero-Bullshit Method for Recruiting a Sales Force
Totally agree.

Author talks about bullshit when he, himself, spews it too.

"Before the interview, have recruiting (or you can) ask the candidate to submit their W2 and fill it in with information that foots to their W2 — the previous years payroll — including commission in the last X-years they’ve been a sales rep."

There is zero chance a seasoned job seeker who knows what they are doing regardless of the position would give out this kind of information.

Interviewing is like playing poker. Why the hell would I show you my cards before placing a bet. It's my job to negotiate the most and it's the person doing the hiring's job to do their homework to figure out what the market bares and how much they can afford or are willing to spend on someone.

I came away reading that article that the author is some pompous young buck who thinks he knows how to recruit.

kids these days... yea, maybe I'm old fashion too but this seems more like a lack of plain old simple common sense.

emcrazyone··on West Virginia Engineer Proves to Be a David to VW's Goliath
Actually one or two people could have gotten away with this. As a software developer on large automotive projects, I was often writing code to do things I didn't understand. My coding came from hand written specifications that often had sequence diagrams which is basic software flows. I.E. Do this when you see these conditions. I typically didn't understand the conditions.

Additionally, modern ECUs in vehicles are modifiable at run time through something called XCP/CCP programming. You can think of of this as calibrating the ECU. ECU = Electronic Control Unit.

The thing that really bothers me about all this is from the article

"Carder said he's surprised to see such a hullabaloo now, because his team's findings were made public nearly a year and a half ago."

It seems nothing was done until the media outlets got a hold of the story?

Why didn't this blow up happen a year and a half ago before all these additional vehicles were put on the road?

emcrazyone··on Volkswagen Stock Plummets as CEO Apologizes for Emissions Cheat
tend to agree. In Michigan, there are no laws requiring owners to pass an emissions test. There use to be in the 80s but they were dissolved in the late 80s. I believe states like California still have them and I know, at least, Illinois has them. In Illinois, it's a simple matter of a test center pulling data from the ODB2 port.
emcrazyone··on Volkswagen Stock Plummets as CEO Apologizes for Emissions Cheat
Curious, are you going to return the vehicle for any recall notices? You realize once they "fix" the emissions issue, the performance of the car is probably going to tank. I have to imagine you will no longer realize the ratings as advertised on the Monroney sticker?

I was thinking to myself, I would avoid the recall but then I think there is fine print that states the OEM must be able to service your vehicle to maintain said warranty.

Interesting pickle. How stupid VW is.

emcrazyone··on C++ concepts support merged into GCC trunk
Like others I was struggling to find usefulness of this and what problems it solves. I admit, it seems like a stretch. There was a situation in which I needed a template class to be implemented such that I wanted only certain types to be accepted one way and others a different way.

I implemented a stream buffer that can accept different types into the stream. Based on the type, the buffer would serialize and expand to accept the data.

To put this more succintly, an insert of unit8_t type would put a single byte into the stream buffer and an insert of uint16_t would put two bytes into the stream buffer. And I needed a way to make sure the types were plain old data types (int, char, uint8_t, uint16_t, uint_32_t, etc...)

Here is sample code:

template<typename T> class TStream { private:

    typedef TBuffer<T> stream_buffer;
    stream_buffer mStream;
public:

    TStream();
    TStream(const TStream &rhs);
    TStream::~TStream();

    unsigned int Size() const;
    unsigned int ByteStreamLength() const;
    void     Clear();

  // some methods omitted for brevity

    const T&operator[](unsigned int idx);
    const T*operator[](unsigned int idx) const;

    TStream<T> &operator=(const TStream &rhs);
    TStream<T> &operator=(T const);
    TStream<T> &operator=(unsigned char);
    TStream<T> &operator=(bool);
    TStream<T> &operator=(double);

  // rest omitted for brevity
};

Doing this

TStream<unsigned char> ByteStream

causes ambiguity with

operator=(unsigned char).

I basically want operator=(unsigned char) to be omitted if T = unsigned char.

The way I solved this, without Concepts of course, was to use CRTP like so:

template<typename D, typename T, typename U>

struct implement_operator_plus_equals { implement_operator_plus_equals() { static_assert(std::is_base_of<implement_operator_plus_equals, D>::value, "CRTP failure" ); } D* self() { return static_cast<D>(this); } D const self() const { return static_cast<D const>(this); }

  typedef D Self;

  Self& operator+=( U u ) {
    static_assert( (sizeof(U)%sizeof(T)) == 0, "Non integer number of Ts in a U" );
    T* b = reinterpret_cast<T*>(&u);
    T* e = b + sizeof(U)/sizeof(T);
    for (T* it = b; it != e; ++it) {
      self()->consume(*it);
    return *self();
  }
}; template<typename D, typename T> struct implement_operator_plus_equals<D,T,T> { implement_operator_plus_equals() { static_assert( std::is_base_of<implement_operator_plus_equals, D>::value, "CRTP failure" ); // Have an operator+= that cannot be called, so using ...::operator+= is legal, // but mostly harmless: class block_call {}; void operator+=( block_call ) {} } };

I believe I could have solved this without CRTP using Concepts. Although my understanding is that Concepts follows a methodology of deny all, allow what is defined and there appears to be no way to allow all, deny what is specified as a Concept. In other words, Concepts only tell the compiler what is allowed and there appears to be no way to specify what is NOT allowed without some further "trickery."

emcrazyone··on Federal Judge Strikes Down Idaho ‘Ag-Gag Law’
"he has +300 employees, you can't personally monitor everyone all of the time"

This is complete and utter bullshit. The whole animal cruelty issue has been in the news for years and to say you did nothing to investigate your own operations or do anything to monitor the activity is negligence. I saw the video too!

I have a friend in the Dairy business with around 150 employees. His entire operation is video monitored around the clock.

I just don't buy arguments like this. I see them as excuses. Your friend may be a good person and all but not doing more to prevent the bad apples is just no excuse in my book.

The sad thing is people need to be kept in check. For if the video never came out, this dairyman would probably have continue business as usual since he never bothered to do his own audits or install video surveillance.

emcrazyone··on Ask HN: Who is hiring? (August 2015)
Case New Holland | Burr Ridge, Illinois | Full-Time | Embedded Software Developer

Job descriptions are in the two links below. Basically, we have an opening for a Jr. level C/C++ programmer and a position for a more senior level C/C++ programmer.

Looking for experienced with Linux, Native Android/NDK, and an RTOS such as Green Hills uVelocity or Wind River VxWorks.

The work is in display systems used to control features of our agricultural machines.

https://www.recruitacommunity.com/srctcb/RTI.home?t=56260&r=...

https://www.recruitacommunity.com/srctcb/RTI.home?t=56260&r=...

emcrazyone··on FFmpeg's future and resigning as leader
I agree with everything you say however, if the two things you rely upon are, in their own words, such a mess then I have to imagine that mess consumes an equal if not more inordinate amount of time to integrate with.

I'm a software developer too. In my career I've had to implement logic to work around buggy libraries, spend time looking into bugs in others code... It seems that at some point that the means don't justify the end and having my own code base that I'm familiar with would be easier than fixing theirs and waiting for disputed parties to figure out what they are going to do.

And I never claimed doing your own was easy. All I'm suggesting is that at some point it's easier than dealing with what you got.

emcrazyone··on FFmpeg's future and resigning as leader
" FFmpeg is a huge mess compared to libav"

I assume this is an unbiased opinion as much as it can be but could you elaborate on what about FFmpeg is a "mess."

I've used both these libraries in building MythTV from strictly a user perspective. Both code bases are open source. I'm wondering if there is so much turmoil here, why doesn't someone (like VLC) take the best features from both projects and create their own library?

I never understood the OSS communities. It just seems simple to me. If you don't like it, fork it and do your own.

<shrug>

emcrazyone··on DefCon Hackers Tell How They Cracked Brink's Safe in 60 Seconds
Somewhat related, check this out. In the video they theorize that the power line attack is obfuscated by software techniques. An old OS may have buggy USB drivers I can imagine but they claim the OS does not matter.

https://www.youtube.com/watch?v=mdnHHNeesPE and this https://www.youtube.com/watch?v=HxQUKAjq-7w

emcrazyone··on Soloshot: Automatically film outdoor activities without a camera operator
was having similar thoughts. I was also wondering why the soloshot had to track a device you wear instead or in addition to something like openCV that can be trained on your face or physique.
emcrazyone··on A $200 privacy device has been killed, and no one knows why
"900MHz radio frequency so the owner could connect from up to 2.5 miles away from the source of the Internet connection. As a result, even if someone tracked down the location of an IP address, the user wouldn't automatically be discovered."

triangulation seems to be a weakness if you can separate it out with other stuff transmitting in that range which I think is quite easy to do with the right hardware.

emcrazyone··on Car Hacker's Handbook
"If the info there is as outdated as you say, where could one find a reasonably complete and up to date intro to car computer technology?"

You won't find this in the public. You would need to work in the industry to get access to all the specs. Much of it is under NBA between companies.

' Are there any tools out there that can be used for simulating a car network (CAN bus, ECU etc.) for lab purposes?"

Yes, Vector CANOE is probably the most widely used tool for this. It has a scripting engine called CAPL that closely resembles the C programming language. dSPACE is another one.

emcrazyone··on Car Hacker's Handbook
I do too; I was a lead on Ford SYNC, GM's Cadillac CUE, and a slew of other OEM ECU modules. First let me say that the book is dated. Example, there is now CAN-FD but they only talk about CAN and Extended CAN in the book.

The attacks in the book are low grade attacks just about anyone with just a basic curiosity could probably pull off - like making up a cable. Ford SYNC, for example, required signed payloads.

Infotainment systems, generally speaking, are not even on the same CAN bus as the engine control unit.

The book spends an inordinate amount of its pages talking about stuff you can easily google and get much more detailed and more accurate information like LIN, ODB2, etc...

Why not talk about CAN arbitration? The book fails to mention a simple attack vector everyone in automotive knows about. ArbID on CAN is not only unique to CAN frame but also used to win arbitration. You can flood a CAN bus with CAN frames using an ArbID of 0x01 or 0x00 to kick off a sort of denial of service attack.

The UDS hacks they talk about are not really hacks at all. They are part of what is known as right to service. Automotive manufacturers are not allowed to lock out small mom & pop service shops or 3rd party tools. The really sensitive stuff typically requires what is known as a VIN unlocker. For example, you can't easily change the ODO (odometer) value. With Ford ECUs, you get a DLL from Ford Motor and a key. You then take CAN data off the bus, pass it through the provided DLL and along with the key, get back a value that you send back out to "unlock" the ECU to program it. Why not talk about reverse engineering this?

They talk about CANiBUS which is a nice tool but a better one is Vehicle Spy which does the same thing and more. Chip tuners use this to reverse engineer the CAN signals.

In the industry, all these CAN bus signals can be decoded if you have what is called a DBC file. DBC file is file format used to lookup values to translate into human readable descriptions. The format is owned by Vector which is another company that makes, over priced, CAN diagnostic and simulation tools that everyone uses.

The Ethernet metasploit looks like pie in the sky talk. Every Ethernet system in a car today is basically infotainment system and benign data like album art, Mirrorlink, and simple data sharing between say a center stack and a cluster. There's nothing there... On top of this, every automotive ethernet is Broad-R-Reach which is Broadcom's 2-Wire Ethernet and to tap into it requires expensive demo boards from Broadcom. It's not like you can simply take a 2-wire Ethernet and put into a Linksys switch to see the packets. More misinformation.

The Keypad for the passive entry looks like good material but it, too, looks very dated.

sorry to be such a downer but felt after reading through the material they should be called out.. buyer beware.

emcrazyone··on Google didn’t lead the self-driving vehicle revolution, John Deere did
"You don't think farm equipment has to navigate unexpected hazards or coordinate with other moving equipment or people?"

Nope, they don't need to worry about those things. Self driving cars and tractors adhere to ISO-25119 and within that, tractors adhere to agricultural performance level which doesn't have the same risk. Self driving tractors are required to have an operator in the cab and they are not allowed on public roadways with "auto guidance" engaged.

I work for Case New Holland - John Deere competitor.

← PreviousPage 4 of 7Next →