1. 3

    Maybe also: unity.

    1. 7

      Cory always scares me.

      1. 21

        This was from 2012. Arguably, we’re already there. Tons of popular computers run signed bootloaders and won’t run arbitrary code. Popular OS vendors already pluck apps from their walled garden on the whims of freedom-optional sovereignties.

        The civil war came and went and barely anyone took up arms. :(

        1. 5

          It’s not like there won’t always be some subset of developer- and hacker-friendly computers available to us. Sure, iPhones are locked down but there are plenty of cheap Android phones which can be rooted, flashed with new firmware, etc. Same for laptops, there are still plenty to choose from where the TPM can be disabled or controlled.

          Further, open ARM dev boards are getting both very powerful and very cheap. Ironically, it might even be appropriate to thank China and its dirt-cheap manufacturing industry for this freedom since without it, relatively small runs of these tiny complicated computers wouldn’t even be possible.

          1. 9

            This is actually the danger. There will always be a need for machines for developers to use, but the risk is that these machines and the machines for everyone else (who the market seems to think don’t “need” actual control over their computers) will diverge increasingly. “Developer” machines will become more expensive, rarer, harder to find, and not something people who aren’t professional developers (e.g. kids) own.

            We’re already seeing this happen to some extent. There are a large number of people who previously owned PCs but who now own only locked down smartphones and tablets (moreover, even if these devices aren’t locked down, they’re fundamentally oriented towards consumption, as I touched on here).

            Losing the GPC war doesn’t mean non-locked-down machines disappearing; it simply means the percentage of people owning them will decline to a tiny percentage, and thus social irrelevance. The challenge is winning the GPC war for the general public, not just for developers. Apathy makes it feel like we’ve already lost.

            1. 0

              Arguably iPhones are dev friendly in a limited way. if you’re willing to use Xcode, you can develop for your iPhone all you want at no charge.

              1. 7

                Develop for, yes, within the bounds of what Apple deems permissible. But you can’t replace iOS and port Linux or Android to it because the hardware is very locked down. (Yes, you might be able to jailbreak the phone through some bug, until Apple patches it, anyway.)

                Mind you, I’m not bemoaning the fact or chastising Apple or anything. They can do what they want. My original point was just that for every locked-down device that’s really a general-purpose computer inside, there are open alternatives and likely will be as long as there is a market for them and a way to cheaply manufacture them.

                1. 4

                  Absolutely! Even more impressive is that with Android, Google has made such a (mostly) open architecture into a mass market success.

                  However it’s interesting to note that on that very architecture, if you buy an average Android phone, it’s locked down with vendorware such that in order to install what you want you’ll likely have to wipe the entire ecosystem off the phone and substitute an OSS distribution.

                  I get that the point here is that you CAN, but again, most users don’t want the wild wild west. Because, fundamentally, they don’t care. They want devices (and computers) that work.

                  1. 6

                    Google has made such a (mostly) open architecture into a mass market success.

                    Uh, I used to say that until I looked at the history and the present. I think it’s more accurate that they made a proprietary platform on an open core a huge success by tying it into their existing, huge market. They’ve been making it more proprietary over time, too. So, maybe that’s giving them too much credit. I’ll still credit them with their strategy doing more good for open-source or user-controlled phones than their major competitors. I think it’s just a side effect of GPL and them being too cheap to rewrite core at this point, though.

                  2. 2

                    I like to think that companies providing OSes are a bit like states. They have to find a boundary over how much liberty over safety they should set, and that’s not an easy task.

                  3. 3

                    This is not completely true. There are some features you can’t use without an Apple developer account which costs $100/yr. One of those features is NetworkExtension.

                    1. 2

                      friendly in a limited way.

                      OK, so you can take issue with “all you want” but I clearly state at the outset that free development options are limited.

              2. 6

                Over half a million people or 2 out of 100 Americans died in the Civil War. There was little innocent folks in general public could do to prevent it or minimize losses Personally, I found his “civil war” to be less scary. The public can stamp these problems out if they merely care.

                That they consistently are apathetic is what scares me.

                1. 5

                  Agreed 100%.

                  I have no idea what to do. The best solution I think is education. I’m a software engineer. Not the best one ever, but I try my best. I try to be a good computing citizen, using free software whenever possible. Only once did I meet a coworker who shared my values about free software and not putting so much trust in our computing devices - the other 99% of the time, my fellow devs think I’m crazy for giving a damn.

                  Let alone what people without technical backgrounds give a damn about this stuff. If citizens cared and demanded freedom in their software, that would position society much better to handle “software eating the world”.

                  1. 6

                    The freedoms guaranteed by free software were always deeply abstruse and inaccessible for laypeople.

                    Your GNOME desktop can be 100% GPL and it will still be nearly impossible for you to even try to change anything about it; even locating the source code for any given feature is hard.

                    That’s not to say free software isn’t important or beneficial—it’s a crucial and historical movement. But it’s sad that it takes so much expertise to alter and recompile a typical program.

                    GNU started with an ambition to have a user desktop system that’s extensible and hackable via Lisp or Scheme. That didn’t really happen, outside of Emacs.

                    1. 6

                      Your GNOME desktop can be 100% GPL and it will still be nearly impossible for you to even try to change anything about it; even locating the source code for any given feature is hard.

                      I tried to see how true that is with a random feature. I picked brightness setting in the system status area. Finding the source for this was not so hard, it took me a few minutes (turns out it is JavaScript). Of course it would have been better if there was something similar to browser developer tools somewhere.

                      Modifying it would probably be harder since I can’t find a file called brightness.js on my machine. I suppose they pack the JavaScript code somehow…

                      About 10 years ago (before it switched to ELF) I used Minix3 as my main OS for about a year. It was very hackable. We did something called “tracking current” (which apparently is still possible): the source code for the whole OS was on the disk and it was easy to modify and recompile everything. I wish more systems worked like this.

                      1. 6

                        Remember when the One Laptop Per Child device was going to have a “view source” button on every activity?

                        1. 1

                          Oh yes, that would have been so nice…

                2. 3

                  Cory always brings so much more work that needs to be done to the table.

                1. 0

                  Why does the government have to drive this?

                  1. 4

                    Most functional languages fit this category. Clojure is a good example of a language that provides great tools to avoid naming transient variables with its various threading macros.

                    1. 3

                      It’s not really a functional language, but fwiw this is also common in modern R code via magrittr pipelines.

                      1. 1

                        You still have to name functions.

                        1. 3

                          If you want recursion you’ll have to name functions, unless you want to write out the combinator from first principles every time. (Naming the combinator fix would be cheating!)

                        2. 1

                          That’s a good point…I hadn’t thought of that, and I use method chaining all the time! Do you find in Clojure that it is difficult to debug the intermediate states of a “thread” (not sure what term is appropriate here) such that intermediate variables would be more convenient? (I guess I’m thinking from a perspective of JavaScript’s method chaining, which seems similar…and it is somewhat frequent that I need to log intermediate values in a .map.reduce.filter chain.)

                          1. 4

                            In the standard library, you can debug -> using another (-> doto prn) and you can debug ->> using (#(-> % doto prn)), although I usually use taoensso.timbre/spy for this. A simplistic solution to work for both ->, and ->> is (defn debug [x] (prn x) x).

                        1. 2

                          I was always a fan of the microdot.

                          1. 6

                            Very zig-like.

                            1. 6

                              For those Googling zig: https://ziglang.org

                              1. 6

                                I found this very convincing: http://tiehuis.github.io/iterative-replacement-of-c-with-zig

                                C will likely never go away, but it may be tech like this that makes it bearable in the future.

                            1. 2

                              Now what about a compiled language where the syntax is mutable at runtime, eh?

                              1. 10

                                Yeah, like Forth!

                                1. 2

                                  Touché!

                                1. 1

                                  Why not make a PR?

                                  1. 1

                                    I listened to a few episodes of this and I don’t get it. I guess it’s a parody podcast? I feel stupid admitting that, because obviously it’s supposed to be funny.

                                    Maybe I’m not a hardcore enough developer to ride this ride :)

                                    1. 2

                                      It may be hard to jump into recent episodes.

                                      I find their views on tech and programming refreshing, if a bit vulgar.

                                      1. 1

                                        Thanks for the hint. I’ll try going back to the beginning of the feed.

                                    2. 1

                                      PR please

                                    1. 7

                                      Should be treated like an airliner crash: Investigation, lessons learned, improvements to make sure it’s not repeated.

                                        1. 2

                                          I don’t know what more we can ask for.

                                          Improvements will be made.

                                          No company wants this liability.

                                          1. 8

                                            I don’t know what more we can ask for.

                                            At least one human in jail.

                                            And if Uber cannot prove that it was the first time a test driver was distracted during drive, at least the whole board of directors of Uber in jail.

                                            1. 4

                                              At least one human in jail.

                                              It’s very likely that there will be a scapegoat or two.

                                              But I think this is probably good for the industry.

                                              I’m no historian, but I imagine that this is a little bit like when the first airplanes were invented. At first there were no rules. You just made and airplane and flew around.

                                              Until some bystander got hurt or killed. In those days, we were not such a litigious society, so most people probably said tough luck.

                                              But eventually we had passenger travel, and the government decided we needed rules and the FAA (or whatever came before it) was created. They make the rules.

                                              At first, air travel was not so safe. But after every accident we improved.

                                              And when there were accidents, there were liability lawsuits. If gross negligence could be proven, then maybe even some airline company executives went to jail???

                                              Even now, when there is human error and an airliner crashes, I don’t think anyone goes to jail?

                                              We are still in the early days.

                                              1. 1

                                                What does that solve?

                                                1. 9

                                                  It has a net-positive social effect.

                                                  1. Giustice.
                                                  2. the U.S.A. would prove to their citizens that they hold the monopoly of the legitimate use of physical force: otherwise, if you accept that a company can kill, killers will all become entrepreneurs
                                                  3. all the future boards of directors of any robotics company will take human safety very seriously and will continue to take it seriously every time a board of director go in jail
                                                  4. the whole DataScience/AI industry will learn to sell just what they can explain (aka debug) and prove correct (which is much more than you think, actually!)
                                                  5. the whole software industry will begin to take software quality as a serious topic
                                                  6. ISIS won’t have a very good reason to infiltrate AI software companies in the U.S.A. …

                                                  I think I could go on for a while…

                                                  1. 1

                                                    if you accept that a company can kill, killers will all become entrepreneurs

                                                    It’s called a private milicia. They’ve been there before Uber and Google. 🙄

                                                    1. 3

                                                      Are you stating that in the U.S.A. a private militia has the right to kill people without questions from courts?

                                                      I really did not knew that!

                                                      Because, you know, some people says you should not require explanations from an AI!

                                                      And if a private militia can kill people with that same freedom… I can suddenly understand U.S.A. problems with guns!

                                                      1. 2

                                                        It’s the 2nd Amendment: final check against government corruption when all three branches fail to do their job. Given how divided the media keeps US, it will basically turn into a shooting gallery with each side taking on their media-designated enemies.

                                                        The only neutral scenario I could think of where it may apply is people taking out politicians that took bribes to pass laws that harmed consituents. And were immune to prosecution. People on both sides tend to look down on whoever takes bribes for laws. As in, it enforces integrity of essential system with everything else handled within the system.

                                                        Id still be afraid to see any use of 2nd Amendment play out, though. Will be a lot of collateral murder.

                                                        1. 0

                                                          @nickpsecurity I read your reply three times, looked at wikipedia and still I do not understand what you mean.

                                                          The monopoly of legittimate use of violence is given to states by their people.

                                                          No State is obliged to respond in courts about each single life it takes to preserve law.
                                                          That’s because the state itself represent the Giustice (on behalf of its people, in a democracy).

                                                          The state does not need to explain why it kill: the explainations are due for the people that reppresent the state (police, judges and so on..) to ensure they do not abuse the power the state give them.

                                                          Does the 2nd Amendment give the U.S.A. citizens the same right of the state?
                                                          That would explain @oz comment, but still it sound extremely strange.

                                                          For example, why killers do not always appeal to it when in court?

                                                          1. 3

                                                            Quick request: If you reply to someone, they get an email saying that your replied. If you use @ in front of name, they get another email saying they were “mentioned” in same thread. I suggest leaving out the @ when it’s the person you were replying to so they just get one email. I also leave it off if it’s another party if they’re already reading the thread.

                                                            Regarding 2nd Amendment, the wording of the Amendment was ambiguous leading to two interpretations:

                                                            1. It’s an individual’s right to bear arms to use in self-defense against all enemies. That might include people attacking them, corrupt politicians, or foreign invaders. Some of these organize into unofficial militias that are basically groups that share this belief in a specific locale. There’s over 200 of them.

                                                            2. It’s about a state-level, military organization governed by the laws of that state and controlled by its governor. That’s basically the Army and Air National Guard. These often also have police powers in a state, too.

                                                            There’s no consensus on the subject. No 1 is used to justify gun ownership. Presidents also used to shoot people on the streets in less-civil times. No 2 is implemented across the states, too. I’m in No 1 territory just because I doubt U.S. military personnel make a good check against U.S. military personnel: probably see each other like cousins in a big family. There are some court opinions from long ago suggesting No 1 is OK when three branches fail to do their job. Anyone trying it will be imprisoned for murder, though, after being villified by whatever side voted for that person. Generally, most just move to a state that runs things the way they like tolerating the government’s abuses.

                                                            The militias are doing nothing waiting for The Big Moment when the federal government does something so bad it justifies them going to war. We’ve had smaller moments over and over and over: Feds like so-called “fait accompli” strategy where they do a little bit of evil at a time building up power slowly with each move independently justified with media narrowly focusing on it in isolation. Like the boiling frog metaphor, the citizens tolerate more corruption that way with them not seeing bigger picture or slowly forgetting why certain things happened to begin with. The Big Moment won’t come because it already did over time. A worse situation will down the road. I found it illuminating to compare the abuses listed in Declaration of Independence that justified war on British rule against the abuses of current U.S. government. There’s too many similarities.

                                                            The militias haven’t done anything about anything, though. Mostly just drink, socialize, and sport shoot in the woods that I can tell. The folks that have shot politicians have usually been crazy or evil doing it for their own reasons. They’re really random. They definitely don’t help justify any legitimate use of 2nd Amendment when that happens: every shooting has people try to roll back No 1 on the list. Who knows what will happen in future but that’s the relevant background on the subject.

                                                            1. 2

                                                              Thanks nickpsecurity.
                                                              Sorry for the duplicated mails… my fault, but maybe Lobste.rs misses a DISTINCT clausole.

                                                              Your post gave me an interesting and deep historical perspective over a U.S.A. issue that I cannot really understand as an European.

                                                              This deeply improve my understanding, thanks!

                                                              Anyone trying it will be imprisoned for murder, though…

                                                              This is the point, I think: a State cannot allow anybody to kill without responding in court for murder. That’s just because otherwise it would loose the key of its own power: legitimacy over its use of violence.

                                                              This does not means that each person responding on court of a murder is guilty and will go to jail. Just that he has to prove that the death was not reconducible to his own actions.

                                                              So, in this case, Uber must prove that they had no way to prevent the death.

                                                              Eg they cannot test the car in roads closed to the public traffic, they had never observed another driver distracted at the driving seat before, that the car was correctly manutened, that the LIDAR system was tested to work at that speed and lighting conditions, that the various AI component had no bug and so on…

                                                              1. 2

                                                                Yeah, they should have to explain that stuff if they were to get tried for it. The case for many companies is they just get investigated and sued with their lawyers holding it off. Sometimes they loose a lot of money on it. Their next move is to do the minimum necessary to avoid a similar loss. This might achieve real, risk reduction. Or it will be a dodge with another disaster down the road.

                                                                Most of the time these are mechanical processes we understand really well. Self-driving cars aren’t. So, I have no idea what will happen just because a robust version of the concept hasn’t been demonstrated even by academics. They might even be able to use that as a defense: “we did all we could. Not even cutting-edge R&D was doing much better on correctness.” Of course, the LIDAR results vs the Grand Challenge I read about long ago makes me think there were some truly reckless acquisition and testing practices. Hopefully, lots of LIDAR experts can chip in testimony saying it’s total garbage to set some kind of baseline for what’s acceptable.

                                                                Seeing and responding to a big-ass object right in front of it should probably be in the baseline. ;)

                                        1. 6

                                          How can I tell I am getting old and out of date?

                                          I recognize all the words in the article. But they might as well be randomly ordered.

                                          1. 4

                                            I think you’d need to know Haskell and the associated idioms for it to be of any use to you.

                                            1. 1

                                              I guess I just don’t know well enough.

                                              1. 1

                                                You have to make a concerted effort to learn the language, it’s evolutionarily quite apart from anything you know.

                                          1. 9

                                            I liked this line from Engineer’s Obligations:

                                            When needed, my skill and knowledge shall be given without reservation for the public good.

                                            1. 4

                                              That has a really ominous parsing for me.

                                              I assume the intention is something like:

                                              When needed, my skill and knowledge shall be given for the public good, without reservation.

                                              1. 3

                                                And paid Id add. The markets and taxpayers that cover lots of unnecessary stuff should be able to cover these people working for the public good.

                                              1. 2

                                                It makes me so sad that I have to learn a different set of tricks for every DB.

                                                1. 4

                                                  Just learn the tricks for Postgres then you don’t need to learn any other DBs :)

                                                1. 1

                                                  If you highlight the REDACTED “black rectangles” in the text, you can see the name of the city.

                                                  So author is actually using the name of the city. Uh, oh.

                                                  1. 6

                                                    At the very end there’s also a button to un-redact those, so the author obviously doesn’t really think there’s an issue using the name.

                                                    1. 3

                                                      However, the chance that the city will actually go against a civilian for his usage of the city’s name still seems a little ridiculous, doesn’t it?

                                                      Except, this actually happened to an owner of a Facebook page with ~14k page

                                                      And, yes, there is a button, along with:

                                                      Since this decision defies all logic, and since I have already broken this decision unintentionally a lot of times, I have decided to add a button on the bottom of this article. By clicking on it, this article will no longer be censored, which will make me break the city’s decision exactly 38 times.

                                                      Completely aware of the possible legal consequences of me mentioning the word […], I encourage you to click that button. After doing so, this article will stop being censured.

                                                      Therefore, I think the author there is an issue with the law, and defies it at his scale.

                                                  1. 3

                                                    I think the most important part of a resume is to not waste people’s time. They will scan the resume, looking for things that are relevant for the open position, and if they find them then they will slow down to read more. To that longer test is best kept to the bottom of the resume, or at the end of a job listing.

                                                    I like how I have my resume (on my website under /resume ) because I believe it is easy to scan, yet has bolded keywords that will jump out at a viewer.

                                                    Also, from the article, these are really good points to be able to demonstrate; and I should improve my resume to show these off.

                                                    • Your ability to solve real, relevant projects with your skills.
                                                    • Your ability to work independently.
                                                    • Your ability to learn quickly.
                                                    • Your relevant domain knowledge, if any.
                                                    • Your ability to work with others.
                                                    1. 1

                                                      The bullet points below your experiences are really nice, they show the reader the main aspects and give a quick overview/feel of what you worked on, without wasting time as you said. The blue tags you have are not really my thing, but I enjoy your resume very much.

                                                      1. 2

                                                        Yes. It’s a nice resume.

                                                        But needs a spel-check.

                                                        1. 2

                                                          Oh, Phooey. Misspellings tend to be my downfall. Thank you for letting me know. :-)

                                                    1. 8

                                                      I know where my food comes from. It’s never pleasant.

                                                      As a farmer, I just try to treat my animals as well as I can, while they’re alive.

                                                      1. 4

                                                        Different, but similar to, https://github.com/wolfcw/libfaketime ?

                                                        1. 3

                                                          Flux capacitor is a better name, though :)

                                                        1. 3

                                                          My brother used to do this: He’d say to himself, I want to make $X this year. He’d work full time until he reached that goal. Then that was it for the year.

                                                          Not as good as working part time. He’d just get another job the next year.

                                                          1. 2

                                                            In the old days, you could get in trouble (fines, etc) for claiming to be an engineer without a Professional Engineering license.

                                                            1. 1

                                                              I believe this is the case for Canada and some (many? most?) other countries. My previous employer acquired a couple Canadian companies which triggered a much larger, company-wide, discussion regarding “engineering” job titles (e.g., software engineer, sales engineer, …) I want to say that Texas and a couple of other states are similar in that they require licensure to use the title. I think Microsoft changed some of their certification titles for a similar reason.

                                                              1. 3

                                                                The U.S. doesn’t generally have any restrictions on using engineer in a title, even in states/fields where there’s a PE exam. Texas now has a software engineering PE exam, but it’s still not an actual requirement for calling yourself a “software engineer”. This is similar to other fields of engineering, where there’ve been chemical engineering and petroleum engineering PE exams in Texas for decades, but the vast majority of people working in the petrochemicals industry in Texas holding jobs with those titles aren’t PEs. It’s generally only required for people with direct signature authority over things that are specifically required by statute to be approved by a PE, like signing off on final blueprints.

                                                            1. 2

                                                              Linkers are slow.

                                                              1. 3

                                                                bfd is slow. lld is pretty damn fast!

                                                              1. 1

                                                                Why is the non-parallelized rust program faster than the c program?

                                                                1. 2

                                                                  The rust version seems to pick only the first best key rotor, but the C version keeps track of several. Unless I’ve misread the code?

                                                                  C:

                                                                  for(elem = base; elem != NULL; elem = elem->next){
                                                                      currentkey = &(elem->key);
                                                                      ind2 = currentkey->indicator[1];
                                                                      ind3 = currentkey->indicator[2];
                                                                      for(set2=0; set2<26;set2++){
                                                                          for(set3=0; set3<26;set3++){
                                                                  

                                                                  That’s three loops.

                                                                  rust:

                                                                  let (_, msg, key, ring) = iproduct!(key_offset..(key_offset + 676), 0..676)
                                                                      .collect::<Vec<_>>()
                                                                      .par_iter()
                                                                      .map(|&(key_index, ring_index)| {
                                                                  

                                                                  That’s the same code. The two inner loops are folded together, but I don’t see the iteration over the other keys, the outer loop above.

                                                                  The rust code uses max_by_key in the top loop where the C code has base = nbest_add(base,&key,score);.