HNHacker News
TopNewBestAskShowJobs

linuxlizard

1,075 karma · joined November 29, 2010

Firmware engineer at Cradlepoint (part of Ericsson) working on WiFi and GPS. Formerly engineer at Marvell doing MFP scan firmware.
submissionscomments
linuxlizard··on I love coding in C
Pasted the quote into work chat and a waggish co-worker immediately came back with, "on the other hand, Python is like camping with a toilet, but that toilet may have a dangerous snake in it, but you won't know until you try it"
linuxlizard··on I love coding in C
> Coding in C is like camping. It's fun for a while, but eventually you really miss things like flushing toilets and grocery stores.

Bookmarking that comment. Will totally quote that whenever the need arises.

linuxlizard··on I love coding in C
I haven't tried mypy yet but want to get to it. It sounds very interesting! After using Python so much the last several years, I've gotten more curmudgeonly about strong type checking in my programming languages.
linuxlizard··on I love coding in C
It's pretty simple. I'm decoding a structure into bit fields (802.11 Information Element). I have a hex dump that I decode into a two structures with almost 100 fields (eyeroll for 802.11 committee). Each field can only be 0, 1, or sometimes up to 15.

I have a list of the structure members. I generate an assert for each member being a certain value. The python script builds/runs the C code. On failure, I parse the assertion failure, get the actual value, change the C assert string, rebuild-rerun. Continue until the program succeeds.

I've visually verified the decode is correct once. I want to keep the decoder tested if I change the code again so I'm generating complete test coverage.

linuxlizard··on I love coding in C
I've been writing a large app in C again after a few years away. Originally wrote the app in C++ then again in Python and now in straight C. I enjoy the faster compile times of C (over C++) and the better type checking of C (over Python).

However, when I'm carefully using C++, I don't have to fiddle around with memory management and still get fast performance and better type checking.

Yesterday I wrote a Python script to generate C code test cases. String manipulation in Python is very easy.

The right tool for the right job, I suppose.

linuxlizard··on My Business Card Runs Linux
This is a beautiful piece of art and engineering!
linuxlizard··on My Business Card Runs Linux
Start with an Arduino and the Adafruit tutorials. Very gentle learning curve. https://learn.adafruit.com/category/learn-arduino

From there, can decide where your interests might be. To continue with Arduino hardware but without the IDE, I'd recommend _AVR Programming_ https://www.oreilly.com/library/view/make-avr-programming/97...

For other low level programming, Atmel's AVR Studio and their dev boards are incredibley newcomer friendly. Their source level debugger (with the debug coprocessor) is a miracle.

If you'd like to get into "big iron", Embedded Linux is amazing. Raspberry Pi is a great start (lots of GPIOS programmable from userspace). To get into embedded linux kernel programming, start with a loadable module on the Ras-Pi. Also, build/load your own Ras-Pi kernel.

Other folks suggested the ESP8266 which is also great fun to use.

Edit: Learn C. Lots and lots of C. Embedded dev is almost all C. A teeny bit of ASM, sometimes C++. But almost all of it will be in C.

linuxlizard··on My Business Card Runs Linux
I can't tell from the datasheets and the description. Does this ucontroller have an MMU?
linuxlizard··on You might literally be buying trash on Amazon
I've spent waaaay too much money at JetPens. Good stuff.
linuxlizard··on Ask HN: Do you still code in BASIC?
Yes. The one called Python. No line numbers but a funny indentation system.
linuxlizard··on NordVPN confirms it was hacked
I've been using Private Internet Access (PIA) since 2016 and can also recommend it from a usability point of view. I'm not a security expert so I defer to others on PIA's security.
linuxlizard··on VxWorks now with C++17 and Rust support, alongside Ada and SPARK
You got me. I just started learning React and your comment freaked me out. Oh, crap, I have to learn Bojombo now!?
linuxlizard··on C++ Ecosystem: Compilers, IDEs, Tools, Testing
I hear about PVS-Studio often.
linuxlizard··on Twitter launches its ‘Hide Replies’ feature in the US and Japan
seY
linuxlizard··on Twitter launches its ‘Hide Replies’ feature in the US and Japan
As a lizard, I find that offensive! ;-)
linuxlizard··on Forests and climate change: pine trees dying in France
USA. I see this in Oregon, Idaho, and Montana. Was just in Oregon, along the Columbia River gorge. Large streaks of dead trees through the lush forests.
linuxlizard··on Goodbye Aberration: Physicist Solves 2,000-Year-Old Optical Problem
I would love/hate to read the LaTex that generated that equation.
linuxlizard··on SwiftUI and Catalyst: Apple executes its invisible transition strategy
And COBOL in the 60s. :-D
linuxlizard··on Why Not Rewrite It in Rust? (2016)
I was tinkering with crosscompiling Rust to arm/aarch64 just yesterday. Rust has a ways to go before it can catch up to C/C++ for cross compiling.

Edit: I should explain a bit. C has had the concept of cross compiling baked into it for decades. It's a well established, easy path. By dint of C, C++ comes along for the ride. Lots of linker is magic required for bare metal C programming. Weird flags required for arch-linux-gnueabi cross compiling. Rust is very new and just doesn't have that history yet. It's an opportunity for someone who has a lot more spare time than myself. :-)

linuxlizard··on China Has Whole Towns Focused on Making Electric Cars
I lol'd. I hadn't heard that before.
linuxlizard··on Let's start using DuckDuckGo more often
I switched to DDG a few months ago. I've found it to meet my needs quite well.
linuxlizard··on During Cold War, CIA Plucked Soviet Submarine from Ocean Floor Using Giant Claw
In 4th grade, I read about the manganese nodule cover story in Weekly Reader. I was super into geology and was entranced by the story. https://en.wikipedia.org/wiki/Weekly_Reader
linuxlizard··on Idaho legislators approve law requiring transparency for risk assessment tools
I'm surprised this didn't make any local news here in Idaho. And such an openness requirement seems at odds for Idaho's usual politics (cf. Idaho's Ag Gag laws).
linuxlizard··on The MacBook keyboard fiasco is way worse than Apple thinks
I didn't upgrade my 2014 MBP but instead am using a Dell Latitude. Linux desktop very nice except the machine reboots whenever I close the lid. Sound works, video works (!). Zoom has an excellent conference call app.

Aside from the reboot problem, I'm happy Linux at least comes with up-to-date tools. Apple's GPLv3 phobia meant I had to continually install Brew and Continuum (Python3) to have modern tools.

linuxlizard··on Idaho sets record low solar price as it starts on shift to 100pct renewables
Another Idahoan here. Agreed. The outdoors here is very valued. Idaho also has a lot of hydroelectric generation which I think also counts are renewable?
linuxlizard··on Thinkpad X210
Lenovo/Thinkpad + Kali sounds like a match made in heaven. May I ask what wifi chipset is on board? 'lspci | grep Network' should show it. The product page just says a/b/g/n which isn't terribly useful.
linuxlizard··on Ask HN: What do recruiters look for in a GitHub profile?
> It's almost like a dating profile.

That's a good description!

linuxlizard··on Ask HN: What do recruiters look for in a GitHub profile?
I am not a recruiter but help with software/firmware interviews where I work. When interviewing someone, any and all signals are very useful. For someone fresh out of university, they can show me their student projects. But an experienced engineer, their contributions are usually property of their previous employer and can't be shown.

To me, being able to see an interviewee's code is like being able to see an artist's portfolio. Alternatively, if an interviewee can point to mailing lists, code repos, etc, for open source contributions, that also is very valuable.

Some other folks in the comments are saying they use Github, etc, as a dumping ground for projects. Still valuable. In my opinion, that means you're interested enough in the project to at least save the code. Plus, even quick and dirty code can have valuable information. Does this person understand, for example, the common idioms in C, C++, Python, etc? (Specific example, using malloc/free/printf correctly, new[]/delete[], not using for i in range(len(foo)). Simple stuff like that.)

Note a repo containing "this is code where I'm learning this language, this library, etc" won't have the best use of the language, obviously, but will be a good sign this person is learning something new. It's another signal.

Just my opinion.

linuxlizard··on Ask HN: What do recruiters look for in a GitHub profile?
Yes, please put your GitHub, GitLab, etc, profile on your resume. When interviewing, being able to see someone's code quality is golden.
linuxlizard··on Outrage culture is out of control
There's a great Bloom County from way back that summed this up. https://www.gocomics.com/bloomcounty/1982/11/14/
← PreviousPage 5 of 11Next →