HNHacker News
TopNewBestAskShowJobs

protomok

303 karma · joined June 1, 2015

Embedded Software dev interested in computer vision, computer architecture, heterogeneous computing, Deep Learning, WiFi, security, and fun side projects.
submissionscomments
protomok··on Robinhood stock trading app confirms $110M raise at $1.3B valuation
Here's an example of how badly active funds underform passive funds:

'Given that active managers’ performance can vary based on market cycles, the newly available 15-year data tells a more stable narrative. Over the 15-year period ending Dec. 2016, 92.15% of large-cap, 95.4% of mid-cap, and 93.21% of small-cap managers trailed their respective benchmarks.' [1]

The question folks need to ask is this - Will my stock trading strategy + low (zero with Robinhood?) trading fees outperform 90%+ of the top fund managers who are using the most sophisticated investment tools available? If not, just buy index funds and spend as little as a few hours / year managing your investments :)

[1] http://us.spindices.com/documents/spiva/spiva-us-year-end-20...

protomok··on Embedded developers need an open source OTA software updater without the lock-in
Actually the Jeep Cherokee was running QNX [1] which is not 'Linux-based'...it's a totally different OS initially released many years before Linux.

Frankly I'm not sure one can link the Cherokee hack to lack of a secure remote update mechanism. Of course signed images and secure updates are key elements of a secure embedded system. But the fatal flaw was IMHO a very unfortunate decision to route their IPC (DBUS) over IP with no authentication. A system is only as strong as the weakest link!

[1] Excellent white paper link from authors of the Cherokee Hack: http://illmatics.com/Remote%20Car%20Hacking.pdf#page=20

protomok··on How to explain to a layperson why a developer should not be interrupted? (2011)
Yep, batching IM and even email responses works well for me as well.

My experience has been most developers and managers are fine with this.

protomok··on Intel to more actively engage with FreeBSD Foundation and make $250K donation
They've also done some interesting research on I/O scheduling and storage in general: https://www.youtube.com/watch?v=3WqOLolj5EU. They seem to frequently present at BSD conferences and I think are genuinely interested in advancing FreeBSD from what I can see.
protomok··on Microsoft Pledges to Use ARM Server Chips, Threatening Intel's Dominance
Yes, many ARM based SOCs include PCIE IP...SOCs from Freescale, TI, Nvidia, etc. typically supporting PCIE RC and EP.

Lots of boards with ARM based SOCs are using PCIE WiFi/BT combo chips which traditionally used SDIO. PCIE also being used for storage.

protomok··on Scaling Git, and some back story
Great to see MS working on this, and also posting the code!

"As a side effect, this approach also has some very nice characteristics for large binary files. It doesn’t extend Git with a new mechanism like LFS does, no turds, etc. It allows you to treat large binary files like any other file but it only downloads the blobs you actually ever touch."

It seems every day I see another attempt to scale Git to support storage of large files. IMHO lack of large file support is the Achilles Heel of git. So far I am somewhat happy with Git LFS despite some pretty serious limitations - mainly the damage a user who doesn't have Git LFS installed can inflict when they push a binary file to a repo.

I'm curious what other folks on HN use to store large files in Git without allowing duplication?

protomok··on Ask HN: Places with a good tech scene and quality of life that aren't in the US?
Canada has an awesome tech scene and is a great place to live :) Toronto/Montreal you'll likely find the most opportunities, or if you prefer a smaller city Ottawa and Waterloo have lots of tech jobs and less big city problems.
protomok··on Problems I Have with Python
One of the biggest Python issues I see is the inability to hide or protect Python source code.

'Compiling' into byte code is easily reversible using pip packages like uncompyle2. Various pip packages offer code obfuscation but from my tests cause problems when running the code. Encrypted bytecode seems to always be decryptable due to the very nature of having an interpreter. Moving Python code into modules implemented in C somewhat works but is time consuming and makes me consider just rewriting everything in C/C++ :(

I would be curious to know how other folks hide/protect Python code? I see this issue as a major barrier to getting Python adopted in paranoid tech companies!

protomok··on Deep Learning Framework Caffe Releases RC4
Hmmmm, it looks like the version string in RC4 hasn't changed...

$ grep "VERSION_" Makefile

  DYNAMIC_VERSION_MAJOR 	:= 1
  DYNAMIC_VERSION_MINOR 	:= 0
  DYNAMIC_VERSION_REVISION 	:= 0-rc3
...
protomok··on Being confidently programming language agnostic
"I never understood why there's so much focus on the "x years experience in y" in the industry. A solid developer should be able to become fluent in any language and technology within a month or two."

I don't think any developer can become fluent at a new language in 1-2 months. I have seen so much terrible code over the years the compiles and appears to run just fine but with massive performance issues, poor design, unreadable, security issues, memory leaks, etc. etc.

I see learning the syntax of a language to be something like 0-5% of the effort of mastering a language, knowing how to properly use a language really does take years. Although I agree that # of years of experience is not a perfect metric.

protomok··on Being confidently programming language agnostic
Interesting article, love the emphasis on continual learning.

But I actually think we (software devs) need to focus more on mastering languages as opposed to learning many languages at a surface level.

Books like "Effective C++" (https://www.amazon.ca/Effective-Specific-Improve-Programs-De...) really showed me the huge divide between knowing a language and mastering a language.

protomok··on How I made sure all 12 of my kids could pay for college themselves
"A garage, a manual, tools, any kind of car, the parts. This is a ton of money for one kid, let alone several. To think that this somehow teaches anyone a lesson about the real world is the definition of socioeconomic privilege."

??? Buying tools for car repairs is a one time cost and these tools would be shared by the kids. Car parts are actually not that expensive (can even be almost free if getting a part from a junkyard), much of the cost is in the labour.

Teaching kids problem solving and how to fix things is a critical skill that is lacking badly in our society and applies regardless of the wealth of the family.

If your argument is that some families are not able to afford cars or garages period then they can teach some other skill to their kids...I really don't see how the author is being ignorant, he's just sharing his experience.

protomok··on How I made sure all 12 of my kids could pay for college themselves
"When the kids turned 16, we bought each a car. The first one learned what that meant. As the tow truck pulled a once “new” car into the driveway, my oldest proclaimed: “Dad, it is a wreck!” I said, “Yes, but a 1965 Mustang fastback wreck. Here are the repair manuals. Tools are in the garage. "

Amazing! Will use this one day. The model described in the article seems pretty solid to me. Particularly the focus on teaching problem solving and discipline using self motivation.

protomok··on [dead]
I think it's the combination of mandatory updates and zero tolerance for error that will be interesting.

For example city X decides to change some traffic rule on date Y. Each autonomous vehicle will need to receive an update by date Y. What happens if a vehicle hasn't been updated soon enough?

One solution is a mandatory update scheme. Every day a vehicle checks if it has received its daily update, if not the vehicle is disabled. Another more long term solution could be close co-ordination with cities to determine which upcoming traffic rule changes warrant mandatory (vehicle cannot be enabled without update) updates.

These corner cases may seem trivial, but with zero tolerance for error across hundreds of thousands of cities careful strategies will need to be developed.

protomok··on [dead]
"Every city has different driving culture, so how will autonomous cars treat these unique conditions. What’s safe in Bangalore may cause a traffic collapse in Boston, etc."

This will be a really interesting problem to solve. The ability to turn on a red light for example will require a city specific profile and will change over time - https://en.wikipedia.org/wiki/Turn_on_red

protomok··on The New Intel: How Nvidia Went from Powering Video Games to Revolutionizing AI
Revenue growth is far more interesting to tech investors than revenue over the last few years. Deep learning has a massive potential for revenue growth and total revenue will likely eclipse gaming within the next 10 years.

Imagine a world where every car has semi-autonomous technology, the average security camera is doing object detection, localization, more sophisticated language translation, smart drones, etc. The potential for deep learning is undeniable and Nvidia (currently) is leading this race.

protomok··on Qualcomm to buy NXP for $38B in largest chip deal
I believe NXP has an NFC chip in a few different iPhone revs.

But I think NFC chipsets are noise in this acquisition, I think this is all about QCOM missing the boat on automotive and buying their way into this market via NXP.

The real loser here is Intel who really doesn't have a compelling automotive story (aside from maybe Altera) and risks loosing to QCOM in handsets AND automotive.

protomok··on Qualcomm to buy NXP for $38B in largest chip deal
I'm just curious what happens to Freescale's i.MX product line...i.MX directly competes in the automotive SOC space with QCOM.
protomok··on Ask HN: What are your passive income sources?
Portfolio of index funds based on http://canadiancouchpotato.com

  25% TSX (Canadian market)
  25% S&P500 (US market)
  25% MSCI EAFE (Developed market excluding Canada/US)
  25% Fixed Income - cash,bonds,'high' interest savings account, etc.
Requires about 4-5 hours of time once per year to rebalance portfolio and update some partially automated Google Docs files to track performance.

Works for me...also planning to get a rental property at some point.

protomok··on In Investing, It’s When You Start and When You Finish (2011)
I'm also in Canada and I follow the passive investing Couch Potato approach which I've converted to pseudo code here - https://news.ycombinator.com/item?id=11528787.

That said if investing doesn't interest you just use a Robo advisor like Wealth Simple (Toronto based). You will pay maybe 0.2% more in fees but your performance will be the same as the couch potato approach, and you'll never need to think about investing.

protomok··on Intel will add deep-learning instructions to its processors
> But by then I suspect ASICs (including one from NVIDIA) will be the new kings.

Yes, I suspect Nvidia has been developing/prototyping a Deep Learning ASIC for some time now. The power savings from an ASIC (particularly for inference) are just too massive to ignore.

Nvidia also seems to be involved in an inference only accelerator from Stanford called EIE (excellent paper here - https://arxiv.org/pdf/1602.01528v2.pdf).

protomok··on The cost of forsaking C
An alternative to the suggestion to use a regex C library is to embed Lua code into your C code. Lua+C is great for resource constrained embedded systems and can make text parsing a lot less painful than using pure C.

The Lua docs provide some examples of integrating Lua into C here - https://www.lua.org/pil/24.1.html.

protomok··on Sweden Wants to Fight Disposable Culture with Tax Breaks for Repairing Old Stuff
My approach as a learn-it-as-I-go-DIYer is basically:

1) Google part number and the symptoms, half the time somebody has blogged about the exact same issue. These consumer products often fail in the same way.

2) Google symptoms and look for issues with similar products. Faulty capacitors for example is a classic cause of problems for older electronics and can be observed by just looking at the PCB (see https://en.wikipedia.org/wiki/Capacitor_plague)

3) Debug using Service Manual (note the User Manuals are typically useless / not detailed enough). Again just googling your part number will typically get you a PDF. If you still can't find the Service Manual you can buy it at these sketchy sites online for $10US, or buy the manual from the OEM (typically closer to $50US from my experience).

4) If still not sure what's wrong, buy a new logic board

5) Buy new gadget

Warning - depending on which appliance is broken irritation level of spouse may grow exponentially!

protomok··on Sweden Wants to Fight Disposable Culture with Tax Breaks for Repairing Old Stuff
A big pain for DIY repairs (at least here in Canada) is part prices and shipping costs. I often see a 2-4x spread in prices when checking Amazon.ca and Amazon.com (often will not even ship to Canada).

It's still cheaper (and more satisfying) to DIY but it really hurts when you're paying $40 for a $10 garage door opener part!

protomok··on Say hello to Google Allo: a smarter messaging app
+1

Once they add a Windows or Linux client I'll give Allo a try.

To me it's a bit distracting to abruptly interrupt a coding session and pull out my phone. Lately I've been trying to minimize distractions and stay in a terminal or development IDE as much as possible. I mentally view distractions similar to latency when accessing memory, something like:

  Look up info in terminal or IDE - comments within code, man pages, etc. <===> register access
  Desktop applications - PDF, Powerpoint slides, IM, etc.                 <===> L1 cache hit
  Google something (often results in reading articles, HN!, etc.)         <===> L2 cache hit
  Phone usage (apps, calls, etc.)                                         <===> Memory access
  In person chat (prone to rants/complaining, tangents, etc.)             <===> Disk access
  Meetings                                                                <===> Tape based storage :)
protomok··on A parallel implementation of gzip for modern multi-processor multi-core machines
You may be interested in these benchmarks: http://vbtechsupport.com/1614/
protomok··on Less stress, more productivity: working fewer hours is good for you and your boss
In my team we usually eat lunch at our cubes while being stuck on conference calls with folks from our local office, California, and Europe. Not sure if this counts as having lunch with colleagues :)
protomok··on Image Kernels explained visually
One way to get into image processing / computer vision would be to pick up an OpenCV book. I liked this book: https://www.amazon.ca/Practical-Introduction-Computer-Vision....
protomok··on Moore’s Law Is About to Get Weird (2015)
The chemical, wetware, fluid and ternary computing concepts mentioned in the article I guess make for a good headline but seem highly unlikely.

In the short term I really think we are entering the era of accelerators. Accelerators like Micron's Automata Processor (1) for graph analysis, accelerators for compute intensive applications like Convolutional Neural Nets, continued innovation in DSPs, GPUs, etc.

Accelerators that can either outperform traditional processors or use significantly less power I think represent one of the major next steps after Moore's law. What comes next may well be a slime mold computer but I think at this point is pure speculation.

(1) - http://www.micronautomata.com - actually I heard about this on HN!

protomok··on Microsoft to Cut 2,850 More Jobs in Exit from Phone Business
+1

It seems few big companies are able to maintain a culture of continuously trying to reinvent themselves and find the next big thing.

In addition to buying the next big thing (effective but requires $$$) I think intentionally trying to disrupt/reinvent your own products before your competition does is a great way to not miss the next big thing.

← PreviousPage 2 of 3Next →