News for hackers. Stuff that matters.

vivaamerica

I think you are missing the point here. The point is that "agile scrum master" is not a real job. You can't work hard at something that is not a real job.
Re:Send Noncompete Agreements Back to the Middle Ages on Saturday December 08, 2018 @06:26PM (#18638129)
This is ironic for Bloomberg as it has a clause in its contract banning "influencing current employees to work for competitors" for a period of 3 years after an employee leaves the firm.

Source: I am ex-Bloomberg employee.

Handling non-traditional name in the US

I come from an Asian country where the concept of names is different from the US. Our passport only has a full name field, as our culture/legal system does not distinguish first/last name so much. So on my passport the full name field is something like, "Smith Jon Doe", where in the context of my origin country, Smith is last name, Jon is a middle name, and Doe is a first name, but clearly...

( Read More... | 1 comment | on HN )
Re:How Bank of America Gave Away My Money on Friday April 07, 2017 @12:02AM (#14057028)
Interesting response video from Martin Shkreli, who is mostly known for his EpiPen scandal.

https://www.youtube.com/watch?v=HROHxpDE6Dw

Type-safe, bonus unit test.

   import org.junit.Test;
   
   import java.util.ArrayList;
   import java.util.Arrays;
   import java.util.List;
   import java.util.stream.Collectors;
   import java.util.stream.Stream;
   
   import static junit.framework.TestCase.assertEquals;
   
   public class FlattenList {
   
       @Test
       public void test() {
           // [1, [2, 3], [4, [5, 6]], [7, [8, [9, 10]]]]
           final FlattenableList<Integer> list = new FlattenableList<>();
           list.add(new SingleFlattenable<>(1));
   
           list.add(new ListOfSingles<>(Arrays.asList(2, 3)));
   
           list.add(new Flattenable<Integer>(){{
               add(new SingleFlattenable<>(4));
               add(new ListOfSingles<>(Arrays.asList(5, 6)));
           }});
   
           list.add(new Flattenable<Integer>(){{
               add(new SingleFlattenable<>(7));
               add(new Flattenable<Integer>(){{
                   add(new SingleFlattenable<>(8));
                   add(new ListOfSingles<>(Arrays.asList(9, 10)));
               }});
           }});
   
           assertEquals(Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10), list.flatten());
       }
   
       public static class FlattenableList<T> {
   
           final List<Flattenable<T>> list = new ArrayList<>();
   
           void add(final Flattenable<T> item) {
               list.add(item);
           }
   
           List<T> flatten() {
               return list.stream().flatMap(Flattenable::flatten).collect(Collectors.toList());
           }
   
       }
   
       private static class Flattenable<T> {
   
           final List<Flattenable<T>> contents = new ArrayList<>();
   
           Stream<T> flatten() {
               return contents.stream().flatMap(Flattenable::flatten);
           }
   
           void add(final Flattenable<T> content) {
               contents.add(content);
           }
   
       }
   
       private static class ListOfSingles<T> extends Flattenable<T> {
   
           final List<T> list;
   
           ListOfSingles(final List<T> list) {
               this.list = list;
           }
   
           @Override
           Stream<T> flatten() {
               return list.stream();
           }
   
       }
   
       private static class SingleFlattenable<T> extends Flattenable<T> {
   
           final T item;
   
           SingleFlattenable(final T item) {
               this.item = item;
           }
   
           @Override
           Stream<T> flatten() {
               return Stream.of(item);
           }
   
       }
   
   }
moved to US from London. Instant 100% pay rise for same role. Yeah yeah US has its problems but more money always helps. Until UK gets its head around paying devs properly it's a waste of time there.