687 karma · joined August 12, 2014
As I read this post I thought the same thing as you; how fascinating it was to see the actual code that ran many of my programs.
In my time, I got into BBS software and assembler and I find myself copying the BASIC Emulator out of ROM and studying it.
anyway, it's just so cool to read posts by so many people that thought the same way.
"SQL doesn't have the notion of "distribution" built into the language. This can be added into the database, but it isn't there in the language."
Are we expecting SQL to need to support "distribution." ??
I write database software on a very small scale with low transaction hits in your classic sense (select, update, etc..) and never needed sharding but one thing that has recently come up in my world is the need for data to be mirrored at geographically separate locations for both selects (reporting) and updates.
I used software and database technologies to over come these but never any crafty SQL calls. Like inserting into two or more databases to keep them in sync...
Are the DB engineers of the world trying to progress SQL to overcome these things at the SQL level?
One Example: Oracle and Postgres both have streaming replication that has nothing to do with SQL (yes I know you can use SQL commands in postgres to start & stop it but it's postgres specific) but as far as I know, these are replication technologies below SQL.
So I was genuinely curious or thought I was missing something; I still kind of do as I've not stayed very current with the state of the art.
From the article:
"SQL means different things to different people. Depending on the context, it could mean transactional workloads, short reads/writes"
Really?
I thought SQL was just the query language on top of a database. All the transactional safety has nothing to do with SQL but more of a database technology topic like is the database ACID compliant.
TLDR but from the first few lines of the article, it seems like the author is confusing SQL or expecting it to do something it was never intended.
Yes, after they shelled out $225 to a thief.
I get she could have waited and then got it back at no cost, but why pay a fee to get it sooner if the dam thing is sitting in a drawer not being investigated.
Are you trying to tell me the police are waiting on her decision to investigate or not? Seems the laptop should be evidence regardless.
Long story short was that spansion changed from gold to copper feeder wires inside their memory chip and was in every so many chips causing bit flip problems.
Our end product is in the automotive space averaging 300,000 units per year. It's a non safety related component.
I literally have a multi-million dollar business & product because of it. And without it, we would be stuck with Oracle or MS-SQL.
And we just recently added full text search within our product using the PostgreSQL full text add-on. My customers absolutely love the feature and they love us because of this.
Another HUGE Thank you from me too.
Ford had another venture with DWalt (the tool company) and they partnered with Magneti Marelli who did most of the work. I wasn't involved in that project, but that endeavor was a situation where Ford basically said here some dashboard space and a list of specs., make it work. This system was called Ford Works.
Any recommendations?
If you interested in the flight industry, something I've been looking at too:
Check out Disti (www.disti.com). Disiti is a company with an HMI(Human Machine Interface) that is gaining a lot of attention and they came out of a military flight industry. Their displays are in the Apache helicopter and the Virgin Atlantic Space Ship as a couple of their selling points. Because of their military involvement, everything they do is ISO26262 compliant which is attractive to the automotive space.
Keep in mind to add SYNC to your vehicle, it's $300 (or it was when it first came out). Cheap right? Ford is in the business to sell cars and what sells more cars, they want.
I'm not a lawyer, I see your point and was somewhat vocal on my own, but in my tenure I learned that Ford is a very successful company and they pay smart people to keep them out of trouble. I have to give Ford props for not taking any bail out money but I digress...
One more tid-bit I will add is that Ford never deals directly with the public. You get your vehicle serviced through dealerships.
So when Ford SYNC came out, they were trying to find away for customers to buy additional services via the SYNC system. This of course meant Ford had to now deal with the whole concept of accepting credit cards or finding a partner who knew how to accept credit cards.
As an architect on the team, one of my tasks was to assess the whole PCI compliance, what it would do to us if we got hacked, etc... In the early days, Ford tried to partner with PayPal to handle the credit card stuff but because Ford has a products it would collect for that are also provided by 3rd parties, it just made things very challenging. I'll spare the details but one of the issues I worked on was single sign on technology. You have a mix of technologies like WS-Federation, SAML, etc... and trying to get Ford and all the partners to adopt and stand up this stuff takes a L O N G time. Consider also some of these smaller companies don't have same budget as a Fortune-5 or even know what SAML is so you have a lot of educating going on too.
And the concern is precisely as you said. They don't want 3rd party software setting off air bags as the inside joke always was.
Also, because SYNC is not connected to the internet it does not have an always on connection. SYNC uses data over voice. Think old school dial up internet connection. SYNC, however, dialed into a partner company that provided a strict set of customer experienced data like ball scores, get your horoscope, etc...
So to update maps, requires you to plug an update stick into the USB port. MAPs are also very large data and would take too long to update on a dial up connection. Again, it has WIFI but the WIFI is not internally used by SYNC or wasn't when I was on the program.
Secondly, because of the partnership with INRIX, I think INRIX gets some kickback for maps updates. And after the trial period, if you decide to keep traffic and direction subscription, I think INRIX also got a kickback for that too.
It will be interesting to see where SYNC goes in the future with 4G now available. When I was at Ford, they wanting to have a celluar data service that was vendor agnostic but it gave them problems for 911 assist. Maybe that has improved.
My point is that there are a whole host of problems a first mover has to over come. Yea they made some mistakes but dam, you have to give them credit for being one of the first to start putting some of this out there.
As an example, Ford is also a big Linux shop but they do not use any old Linux distro. They have partnered with Novell (SUSE Linux) who indemnifies them from all open source code found in the SUSE distribution.
When I was on Ford SYNC, no Google code ran on the module. The feature they are talking about is called Send To Sync and it's a web service where the SYNC module can receive a map planned on Google Maps. The mapping software in Ford SYNC is simply given the data output in the form of lat/long info.
You also have to remember when SYNC was in the planning stages long before the public knew about it. I was part of the original team responsible for taking the whole concept to reality.
I can tell you that internally, it was one of the most well run software architecture teams I was ever apart of. The middle level managers really know how to run software teams which is not something you might expect from a big old automotive company.
But in many ways, our hands were tied. Recall about the time Bill Gates and Bill Ford riding around in a model-T. A lot of us didn't want Windows for automotive and were trying to champion Linux. Also, the iMX3 which was in the first generation SYNC modules was at the time a slow processor.
And to top things off, a fair bit of the software running on the SYNC module is not written by Ford. Ford partnered up with a crappy company called B-Squared.
The Maps are not Ford's either. When I was on the team, Ford had partnered with INRIX for Maps, traffic and direction.
SYNC is just not a simple single board computer with some apps running on it. There is an entire eco-system build around the SYNC module because it's connected to the vehicle networks (CAN Bus). Microsoft & Ford being partners (Windows servers in data center), Microsoft wanted to handle some of the software development but when Ford asked Microsoft to sign off on some legal agreement asking MS to take any and all responsibility for things like inadvertently deploying an air bag, they backed off.
Also, Ford SYNC as I said has an eco system of roughly 20-30 backend applications that support it. Some of these have to do with 911 assist and the TREAD act. The TREAD act is the US Federal Government's oversight on safety claims.
Because via SYNC you can report problems and have your vehicle serviced, their is a lot internal logic that keeps track of what is called EOL (End of Line) data about a vehicle which needs to funnel into TREAD act reporting.
Think about the not so long ago Toyota problem where they tried to blame floor mats for gas peddles getting stuck.
EDIT: Also, the GUI is not Microsoft CE native. The WindowsCE is just the OS running on the SYNC module. The GUI was Adobe ActionScript. Trust me, many of us yelled very loud about how stupid an idea this was but because B-Squared own the implementation (not the architecture), they were aloud to chose whatever they wanted to meet Ford specs. The results are a history less: JD Powers gave it SYNC poor ratings and many of us (myself included) got the hell out of dodge.
Middle managers, managing the day to day software architecture and specifications, were caught between a rock and a hard place with senior management (Allan Mullaly, Mark Fields, Bill Ford, Marcy Klevorn) pushing these partnership relationships we were forced to work within.
See my post further up. I grew up 30 minutes in what many around here call the down river area (Riverview) and when I bought my first house, I went north. I'll happily pay more taxes for blue ribbon schools, trash pick up, snow removal, and be able to take an evening bike ride under street lights in a safe neighborhood.
Why would anyone trade any of this for living in Detroit. The bad areas are where people go who can't afford to live anywhere else. A hard cycle to break.
I own my own company and I have clients in the city; the Comerica building just to name one. If we are on a project that puts any of us down there after 5pm, we'er in pairs.
I'm originally from New York; parents moved to Detroit area when I was kid. I remember growing up listening to family constantly being concerned for our safety and when I got married about 10 years ago, I had a hard time convincing my NY relatives that Livonia was safe to visit. (Livonia is North & East of Detroit).
My mom worked in Detroit (McNamara building). She would take the bus into the city. If she missed the bus ride home, my dad and I would have to drive down to pick her up. We would always get this nervous feeling coming off I-75 by the old Tiger Stadium. The McNamara building is a federal building so it had high security which I think gave my dad some comfort but still, Detroit's crime has always over shadowed the place for as long as I've been here.
We even have stupid comments big celeberties like Ted Nugent who say we're the murder captial not because we shoot more people but because we're better shooters.
I digress... I'm hopeful things will turn around but as a father now with kids, I'm always on the lookout to get out still. Including moving my company HQ.
The mentioning of sbrk in the article seems to do so in passing. Nothing describes what it is. I would spend time on it.
I would also address virtual memory and at least let the reader know that the underlying operating system is ultimately responsible for allocating memory. When a modern OS uses virtual memory, you get a virtual memory pointer which would be different than the physical address.
Linux, in particular, uses a process referred to as Optimistic Memory Allocation to honor malloc requests.
I mention all this because I think anyone interested in these lower level details would also be interested in how the OS and hardware are involved.