HNHacker News
TopNewBestAskShowJobs

Kliment

5,833 karma · joined October 29, 2009

my username at 0xfb.com for contacts, Kliment on libera.chat IRC

I do custom electronics, robotics, and embedded software development - I specialize in quickly turning ideas into prototypes. I've built custom automation equipment for chemistry labs, sensors that are in use in household/utility applications, control circuitry for construction equipment, 3d printing electronics, data acquisition equipment. No project too small. Few projects too large. Deep discounts for open source hardware work.

I would also be happy to come over (anywhere in Europe) and teach any of the above skills to a small group of interested people. I've taught courses in electronic assembly (SMD), 3d printing (building/using printers, iterative 3d model design using programming) and robot design and construction. I've taught courses at several universities, hackspaces, and conferences.

submissionscomments
Kliment··on Covid vaccine: First ‘milestone’ vaccine offers 90% protection
By late spring/summer you mean midwinter in the southern hemisphere.
Kliment··on Covid vaccine: First ‘milestone’ vaccine offers 90% protection
This is all true but is missing some important detail - the box (shipment container suggests shipping container sized things, it's more of a flight case size thing) is meant for long distance transport, rather than local distribution. It holds the vaccines at -80C for ten days, and can be refilled with dry ice (which is widely available anywhere that has a carbonated drinks industry) to extend that period. The ten days is how long it's expected to be in continuous transit, worst-case. The vaccine must be thawed before use, and can be stored in a regular freezer for a few days, just not indefinitely.

Since the transport cases are reusable, and don't need to be completely populated, what will likely happen in rural areas is that they'll have a case for shipment, refill it with dry ice on site, and use a second case to transport a small number of doses to the point of use. Repeat until used up, refilling with dry ice every few days at a central location (less than a week's travel from administration sites). I don't think it's going to be a major problem in practice.

Kliment··on Switch from Ruby to Crystal
Mildly offtopic but this is a thread most likely to have Crystal and youtube-dl fans in it:

Invidious needs your help!

invidious[1] is an open alternative frontend to youtube with low bullshit, that works without js. It's written in Crystal. The core developer decided it was too much for them and has taken a (likely permanent) break from the project[2], and the community is struggling to maintain it[3] because there's very few people who have ever seen or heard of Crystal and like youtube-dl it's subject to breakage whenever google tweaks something on the youtube page. If you are a Crystal person and this is of interest to you, please help. For a bit more information on the way the code is structured and the current work that's happening, see [4]

[1] https://github.com/iv-org/invidious

[2] https://github.com/iv-org/invidious/issues/1320

[3] https://github.com/iv-org/invidious/issues/1411

[4] https://github.com/iv-org/invidious/pull/1399

Kliment··on Helsinki Relocation Package: City as a Service
About b) it's controversial because it's the standard model that is used by linguistics and is considered useful, and I think it's net-negative-value for education. That's why I want to make it abundantly clear that this is my opinion and it runs counter to the consensus in the linguistics world.
Kliment··on Helsinki Relocation Package: City as a Service
I'm a non-native Finnish speaker. I learned the language in my teens.

It's not a difficult language, at all. It is actually surprisingly simple. The problem is the obscurity - there is very little interest in Finnish as a second language, and the teaching community for it is small and hasn't developed the kind of resources that imperial languages that were taught to countless millions of people during the age of empires (English, Spanish, French) have available. There's just not been a long enough history of teaching Finnish to adults and the resources are poor. My recommendations if you want to learn it:

a) constant low-level exposure to local media - local television has foreign-language films in original language with subtitles - this is super useful as a way to pick up new vocabulary you don't encounter in your everyday life, such as "get to the chopper" :P

b) this is controversial but I think the standard language model used by linguists is too strongly inspired by Latin and a very poor fit for Finnish. I find trying to learn grammar formally is counterproductive and will set you back. Instead, think of the noun suffixes as a preposition equivalent. Trying to think of them as cases will mess with your progress

c) hang around people having conversations and listen. Don't try to understand, just get comfortable with the sound of it. One of the more difficult things with agglutinative languages (languages that stick things together, very roughly speaking) is parsing out bits of words. Early on I'd sit on buses a lot and eavesdrop on random conversations just to get comfortable with the language.

d) Language courses are a poor path to fluency. I know people who spent a decade and a half on language courses and were unable to effectively communicate. If you are in a language course, try to counter its effects by at least equivalent-time exposure to random conversation

e) Music is a great in - it's way easier to remember complete phrases as song lyrics than standalone, and you can listen to an album a few times and then try dissecting a particular song's lyrics to figure out what it's all about.

f) Your primary bottleneck as a beginner is vocabulary - ignore grammar at first, just collect as much vocab as possible. The grammar is so simple and structurally regular that you'll pick up most of it from context, but that only works if you know what the hell people are talking about. Collect words everywhere you can. Read comics, read newspapers. Read medication warning labels. Read user manuals. The latter two are especially useful because they're parallel text so you have the translations right there. Don't try to keep score of how many words you know, keep score on how many word roots you recognize on an average day.

g) Try transcribing things you hear. youtube-dl a news broadcast, play it at 0.75x speed and write it all down, pausing the video if necessary. Don't bother trying to comprehend everything, just write it all down.

h) Use Finnish in boring everyday stuff - supermarket checkout, for example. This is easy low-level stuff and you'll get functional at that level very quickly. Do this way before you feel comfortable. This will give you daily active low-level practice. Use Finnish for all interactions where it doesn't have severe consequences if you're misunderstood.

i) Use media targeted at children. Story books are a great way to get lots of simple vocab in, and also a bit of culture. Go to the library, pick up a bunch of books targeted at 6-12 year olds, read them all. Repeat.

j) It may appear superficially that all the vocabulary is weird and foreign but a whole lot of it is borrowed, just borrowed a long way back. Not so useful early on but you pick up some patterns eventually. A number of phrases are word for word translations from other languages - for example "elintarvike" (food products, groceries) is a word for word translation of German "Lebensmittel". Learning German after Finnish I found a lot of familiar phrases. Going further back, you see a ton of germanic roots in everyday words like "tuoli" (chair). It's not obvious at first until you look at the Estonian version "tool", which is an earlier form of the same word. That is of course an abbreviated version of "stool"/"Stuhl" which is clearly germanic. Again, this won't help you learn new vocabulary but it may help with the feeling of "what the fuck how do they come up with this shit" that you get on first exposure to a new language group.

Expect 18-20 months before you can make sense of most things your colleagues say. Going from there to fluent communication depends entirely on how much you actively use it. It's not hard, it's just that nobody has had a century or two of experience teaching it to adults, so you have to figure out ways of making it work for you. Have faith in yourself. Once you break through the initial "this is so weird" barrier, progress is quick and very rewarding.

Kliment··on So you want to buy a farm?
Can confirm - I tried growing all sorts of things in an awful north-facing garden with varied success but am now mostly focusing on two things - leaf vegetables and small fruit. Chard and raspberries are my primary outputs, and being able to go out and pick a handful of raspberries for dessert is a way superior experience to buying them - better taste, more varieties, better quality, and they store longer than store-bought. Same thing with leaf vegetables - unless I buy frozen (which I still do in winter) you can't get decent spinach or chard outside the peak of the season. They store for months on the plant though unless temperatures get too hot, so I can just pick as much as I need for a meal and not worry about spoilage.
Kliment··on GitHub: Widespread Injection Vulnerabilities in Actions
I suggest you fork any actions you depend on.
Kliment··on You might not need to store plaintext email addresses
Doesn't that break account recovery requests?
Kliment··on Raspberry Pi 400 teardown and review
@dang this is not a duplicate of the raspberry pi announcement article - it's a separate review and teardown
Kliment··on Raspberry Pi 400 teardown and review
Nope, sorry, haven't used it. The major benefit of the raspi setup is the software support, which is excellent.
Kliment··on Raspberry Pi 400 teardown and review
You're probably right (though I see a lot of people using a pi as their first foray into computer vision, and I could imagine some of them wanting to play with this) but it was not mentioned in the review or in the raspi blog post so I thought I'd point it out.
Kliment··on Raspberry Pi 400 teardown and review
One thing that's missing compared to the standalone pi is the camera connector (and display connector, but I've found that less useful as HDMI displays are cheaper and more available and I've ended up using several Pis in headless camera applications).
Kliment··on FPGAwars: Exploring the Open Side of the FPGAs
The code linked there is all open, and has a USB device softcore. It's the most approachable FPGA USB implementation I've played with.

edit: Here is the actual USB core that's in there: https://github.com/im-tomu/valentyusb/

Kliment··on FPGAwars: Exploring the Open Side of the FPGAs
Luckily there are wonderful USB stacks implemented in open FPGA toolchains these days - check out the toolchains described at https://workshop.fomu.im/en/latest/
Kliment··on Maine Becomes First State to Use Ranked-Choice Voting in a Presidential Election
Looking at any recent election will show you the discrepancy quite clearly - the difference they are referring to is the difference between popular vote percentages (nationwide) and number of MPs for a given party (FPTP split by constituency). Parties with high popular vote percentages often get very few to no representatives because they were never the top candidate in any constituency.
Kliment··on John Gray: 'What can we learn from cats? Don't live in an imagined future'
It might be food/hunting related. I only have a sample size of two cats.
Kliment··on John Gray: 'What can we learn from cats? Don't live in an imagined future'
Cats can count to much more than two. If there are treats on a shelf and our older cat knocks them down, she'll remember how many hit the floor (from the sound) and then not stop looking for them until she's found that many. I suspect being able to keep track of distinct objects is useful when hunting if multiple small prey animals disperse in order to confuse the predator.
Kliment··on Microsoft just force restarted my Windows PC again to install more unwanted apps
Yeah it's amazing, and I recently did a project on KiCAD nightly (because it has better support for complex buses and high speed stuff, and I needed to put 14 HDMI links on a board) and that's even more amazing (though currently quite buggy as a lot of new stuff was added and it's now in pre-release feature freeze to get the bugs out).

There's also two other excellent floss electronics CAD tools - LibrePCB and Horizon, which are also worth trying. They are built by people who felt they could do a different workflow to KiCAD, and have succeeded at that. I personally still feel more comfortable with KiCAD, but it's always nice to see alternatives.

One thing I've been seeing with the FLOSS tools that just doesn't exist at all in the commercial world is cross-pollination of both code and features. KiCAD now has footprint DRC built in, which is something that originated in LibrePCB. And Horizon uses the KiCAD routing engine internally, while having a completely different everything else. Developers of all three hang out with each other and exchange ideas. This is something where the commercial closed stuff simply cannot compete.

Kliment··on YouTube-dl has received a DMCA takedown from RIAA
I get that, and yeah it's bad. But there's also a deep frustration with how these fuckers can do this stuff and get away with it. So how does one push back?
Kliment··on Microsoft just force restarted my Windows PC again to install more unwanted apps
I do professional electronics design and some mechanical design. I use 100% FLOSS tools. KiCAD nightly is currently slightly less buggy than the closed crap, and about as capable. The major difference is that bugs I report get fixed within days, which I've never experienced with any of the commercial offerings. I use stable KiCAD for most projects, and nightly for things that need advanced functionality. It's absolutely excellent. The mechanical design story is not as great, but FreeCAD is improving at a decent pace and now that Fusion is crippleware a lot of people are looking into FreeCAD, and complaining about how it works, and some are contributing and improving it. KiCAD went through this cycle due to a large influx of Eagle users when Eagle got eaten by the beast, and came out dramatically, shockingly improved. If the same thing happens to FreeCAD in the next few years I doubt we'll have any excuse to go back. So I don't feel "hard pressed to get by" - I feel more productive than before I switched to FLOSS tools.
Kliment··on What Chinese looks, feels and sounds like when you're from Korea or Japan (2009)
While I agree with your admiration of the versatility and power of CJK languages, I don't think the particular aspect you're commenting on is specific to those. You see this in many western languages too. Here's an example in English. Take the word "pot". It can be a container, it can be a plant, it can be a drug, it can be a dish (pot roast), it can be an electronic component (short for potentiometer). Things can "go to pot". Someone might be told to "shit or get off the pot" when they are indecisive. The meaning depends on context. Some of these meanings are related, some are not. Yet it's all the same word. It has some meanings that are shared across different anglophone cultures, and some that are specific to one or several. There are many other words like that, and you find things like this in almost every language family.
Kliment··on Plan Your Route Privately: DuckDuckGo Now Has Driving and Walking Directions
osmand is nice
Kliment··on USB3: Why it's a bit harder than USB2
Someone actually hacked together a TT for USB3. It's unobtainium for mortals but it exists https://www.via-labs.com/product_show.php?id=96
Kliment··on Firefox's JIT is getting significantly faster
Can we crowdsource home addresses of advertisers who do this, and mail them shit daily until they stop? "People will be absolute dicks if we make the user experience better" is not a good argument for making the user experience worse. If the fuckers keep escalating the badness, more people will use adblockers. And if adblockers are not enough, then it's time to start mailing them shit I guess, and escalating from there.
Kliment··on Windows XP source code has leaked
I visited a number of factories in China last year and saw lots of XP on measurement, production and test equipment. All the office desktops were on W7 or W10. I'm sure lots of XP desktops exist, but I didn't see any in the (quite many) offices I passed through. I can't speak about home computers, I only saw a small handful.
Kliment··on Wikipedia is getting a new look
新华字典 has a gloss of "language" with "written language (文字)" and "foreign language (外文)" given as examples. That's where I'm getting it from.
Kliment··on Windows XP source code has leaked
Industrial equipment control computers mostly - the computer is part of the machine and cannot be upgraded. You see this quite a lot outside China too.
Kliment··on Wikipedia is getting a new look
That's not quite true - 语 as in 汉语 is a spoken language or dialect. 文 is used for written language, and can mean a language in general, a writing system, or an entire culture, depending on what you combine it with.
Kliment··on Autodesk Fusion 360 becomes almost useless for hobbyists
minkowski and hull operate on every vertex in your object mesh - this means they need to a) convert the solid into a mesh and b) do math for every combination of vertices in said mesh. That's O(n^2) operations for objects of complexity n. This means that they are much slower than csg operations (that operate on the underlying geometry rather than the mesh). They are definitely the slowest (but most powerful) operators in OpenSCAD. If you're doing something like minkowski-adding a sphere to a complex shape, use $fn=(some low number) on the sphere to reduce face count and speed things up initially while you're hacking around, then increase it again before final render.
Kliment··on Autodesk Fusion 360 becomes almost useless for hobbyists
Cadquery is a massive pain to install. Most users use conda to get all the dependencies going which is a horrible monstrosity. That's my biggest warning.

Openscad is the best for working with existing STLs. Say you have a centered 30x10x10 mm part and you want to remove the central 10mm. My strategy could be:

1. import the part, translate it by 5mm in positive x direction, and subtract from it a centered cube larger than the part that is moved in positive x direction so that it ends at x=0:

  difference(){
    translate([5,0,0])import("file.stl");
    translate([16,0,0])cube([32,12,12],center=true);
  }
2. import the part again, translate it by 5mm in negative x direction, and subtract from it a centered cube larger than the part that is moved in negative x direction so that it ends at x=0. Because this is so similar, you can reuse the code:

  for(dir=[-1,1])difference(){
    translate([dir*5,0,0])import("file.stl");
    translate([dir*16,0,0])cube([32,12,12],center=true);
  }
3. Make a watertight join between the two - you want to make sure the two shapes overlap a tiny bit. So we change the cut cube to be out of the origin line by 0.05mm:

  for(dir=[-1,1])difference(){
    translate([dir*5,0,0])import("file.stl");
    translate([dir*(16-0.05),0,0])cube([32,12,12],center=true);
  }
protip: prefix a negative shape with # to see it in the preview - like in the above replace cube with #cube
← PreviousPage 8 of 34Next →